1 points par GN⁺ 2026-03-27 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • En déplaçant certains projets de GitHub vers Codeberg, l’auteur explique comment commencer une migration avec un minimum d’effort
  • Grâce à la fonction d’import de dépôt de Codeberg, il est possible d’effectuer une migration complète incluant les issues, les PR et les releases, avec une interface et un workflow similaires à GitHub
  • L’hébergement de pages statiques peut être remplacé par codeberg.page, et il existe aussi des alternatives comme grebedoc.dev ou statichost.eu
  • La plus grande difficulté est la mise en place de l’environnement CI : il faut renoncer aux runners macOS et au volume d’exécution gratuit de GitHub, avec des alternatives comme Forgejo Actions ou Woodpecker CI
  • Après la migration, il est proposé de conserver le dépôt GitHub en archive en lecture seule ou en miroir, afin de ne pas couper totalement le lien avec l’écosystème open source

Processus de migration de GitHub vers Codeberg

  • En s’appuyant sur l’expérience du début de migration de certains dépôts de GitHub vers Codeberg, l’auteur décrit la difficulté réelle du processus et sa praticité
    • Il avait repoussé cette migration en pensant que Codeberg n’était pas encore prêt, mais selon les projets, elle peut être étonnamment simple
    • L’objectif n’est pas une configuration parfaite, mais de trouver la manière la plus simple de commencer à migrer
  • Migration des dépôts et des issues

    • Codeberg propose une fonction d’import de dépôt (import) GitHub, permettant de migrer les issues, les PR, les releases et leurs artefacts
      • Dans ce processus, les numéros d’issue, les labels et les informations sur les auteurs sont conservés tels quels
      • L’interface de Codeberg est presque identique à celle de GitHub, ce qui rend l’expérience bien plus simple que les procédures complexes souvent nécessaires pour migrer d’un autre gestionnaire d’issues vers GitHub
  • Hébergement de pages statiques

    • Si vous utilisiez GitHub Pages, vous pouvez utiliser codeberg.page comme solution de remplacement
      • Il n’y a pas de garantie officielle de disponibilité (SLO), mais l’auteur indique n’avoir en pratique jamais constaté d’interruption
      • Le fonctionnement consiste à pousser du HTML dans une branche, avec une structure similaire à GitHub Pages
      • Des alternatives comme grebedoc.dev ou statichost.eu sont également possibles
  • Difficultés liées à l’environnement CI (intégration continue)

    • La partie la plus délicate de la migration est la mise en place de l’environnement CI
      • GitHub fournit des runners macOS gratuits et une capacité d’exécution illimitée pour les dépôts publics, mais il faut y renoncer sur Codeberg
      • Comme solution, il est possible d’utiliser la cross-compilation selon le langage et l’auto-hébergement des runners Forgejo Actions
    • Forgejo Actions vs Woodpecker CI

      • Sur Codeberg, Woodpecker CI est plus stable, mais Forgejo Actions offre un environnement plus familier aux utilisateurs de GitHub Actions
      • L’interface et la syntaxe YAML sont presque identiques, et la plupart des workflows GitHub Actions existants fonctionnent tels quels
      • Par exemple, si vous utilisiez uses: dtolnay/rust-toolchain dans GitHub Actions, dans Forgejo Actions, il suffit de le remplacer par uses: https://github.com/dtolnay/rust-toolchain
      • La documentation actuelle de Forgejo Actions sur Codeberg n’est pas à jour, et une PR existe à ce sujet
    • Si un runner macOS est nécessaire

      • Si un build macOS est indispensable, il est possible de continuer à utiliser GitHub Actions et de mettre en place un miroir des commits du dépôt Codeberg vers GitHub
      • Il est possible de configurer Forgejo Actions pour qu’il interroge l’API GitHub et synchronise l’état de la CI vers Codeberg
      • D’autres services de CI proposant des builds macOS ont aussi été testés, mais leur intégration avec Codeberg n’est pas plus simple que GitHub Actions
  • Que faire du dépôt GitHub

    • Après la migration, le dépôt GitHub est archivé après modification du README
      • Il est aussi possible de configurer Codeberg pour pousser les commits vers GitHub, mais dans ce cas, les utilisateurs peuvent encore ouvrir des PR et commenter les issues
      • Certains désactivent la fonction issues du dépôt GitHub, mais dans ce cas toutes les issues disparaissent en 404 et il n’est pas possible de désactiver les PR
      • Par exemple, le dépôt libvirt/libvirt utilise une GitHub Action qui ferme automatiquement toutes les PR
    • Cette approche peut avoir un impact négatif sur l’auto-hébergement et l’écosystème open source dans son ensemble
      • Les utilisateurs perdent leur motivation à améliorer l’optimisation des builds ou la fréquence de téléchargement des fichiers de release
      • Pendant la période de transition, il est aussi possible d’envisager un miroir en lecture seule ou l’utilisation conjointe de GitHub Pages et GitHub Actions

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.