HN
Today

Moving from GitHub to Codeberg, for lazy people

This guide offers a 'lazy' yet practical approach for developers considering a move from GitHub to Codeberg. It details surprisingly easy aspects like repository import while highlighting the significant hurdle of CI migration. The author provides actionable tips, particularly on navigating the complexities of continuous integration, making it a valuable resource for those contemplating the switch.

23
Score
0
Comments
#1
Highest Rank
6h
on Front Page
First Seen
Mar 26, 2:00 PM
Last Seen
Mar 26, 7:00 PM
Rank Over Time
311145

The Lowdown

The author shares their experience migrating repositories from GitHub to Codeberg, challenging the perception that such a move is inherently difficult or requires extensive effort. This piece aims to provide motivation and a starting point for others in a similar position, focusing on the easiest path for initial migration.

  • Repository Migration Ease: Moving issues, pull requests, and releases is straightforward due to Codeberg's direct import functionality, which maintains issue numbers, labels, and authorship, offering a smooth transition with a GitHub-like UI.
  • GitHub Pages Alternative: For hosting static sites, codeberg.page serves as a viable option, mirroring the old GitHub Pages workflow by pushing HTML to a branch. Alternatives like grebedoc.dev and statichost.eu are also mentioned.
  • CI as the Major Hurdle: The most significant challenge lies in Continuous Integration (CI), as GitHub provides free macOS runners and extensive capacity for public repos. Migrators will need to give up these perks.
  • CI Solutions: Recommendations include exploring cross-compilation for programming languages and self-hosting runners for Forgejo Actions. Forgejo Actions is preferred over Woodpecker CI due to its familiar UI and YAML syntax, closely resembling GitHub Actions.
  • Macos Runner Workaround: For projects absolutely requiring macOS runners, the author suggests maintaining a mirrored GitHub repository for GitHub Actions, while syncing CI status back to Codeberg.
  • Handling the Old GitHub Repo: The advice is to update the README and archive the old GitHub repository. The author cautions against pushing new commits back to GitHub from Codeberg, as it keeps PRs and comments active, suggesting methods like disabling issues (with a warning about data loss) or using an action to auto-close PRs if a read-only mirror is desired.

Overall, the article demystifies the migration process, providing practical strategies and honest assessments of the easier and more challenging aspects of moving a project from GitHub to Codeberg.