36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
# ECP-0080: Forgejo-Primary Git Hosting With Mirror-Only Codeberg/GitHub
|
|
|
|
Status: Implemented
|
|
|
|
## Context
|
|
|
|
Repository governance and CI are currently coupled to Codeberg-specific defaults in scripts and workflows. We want Forgejo to be the primary host for development and automation, while keeping Codeberg and GitHub as mirror endpoints only.
|
|
|
|
## Decision
|
|
|
|
1. Adopt Forgejo as the primary git/actions host.
|
|
2. Treat Codeberg and GitHub as push mirrors.
|
|
3. Disable actions on Codeberg mirror repositories.
|
|
4. Make workflow API calls host-agnostic by using runtime server/repository context instead of hardcoded Codeberg URLs.
|
|
5. Add first-party scripts for:
|
|
- setting primary + mirror remotes,
|
|
- pushing mirrors,
|
|
- toggling repository actions via Forgejo/Gitea API.
|
|
6. Update Forge scripts/docs so host/token defaults point to Forgejo first, with compatibility fallbacks for existing `codeberg-token.age`.
|
|
|
|
## Alternatives considered
|
|
|
|
- Keep Codeberg as the primary host and only tune runners. Rejected because the operational target is Forgejo-first ownership.
|
|
- Maintain duplicate active CI on all hosts. Rejected because it doubles cost/noise and risks divergent automation behavior.
|
|
- Manually manage remotes and repo settings per developer. Rejected because migration drift is likely without repeatable scripts.
|
|
|
|
## Rollout / teardown plan
|
|
|
|
- Rollout:
|
|
- merge workflow/script/doc updates,
|
|
- configure local remotes to Forgejo primary + mirror remotes,
|
|
- disable Codeberg actions with the new repository toggle script.
|
|
- Teardown:
|
|
- re-enable actions on Codeberg via the same toggle script,
|
|
- point primary remote back to Codeberg if needed,
|
|
- revert workflow host-context changes if a single-host lock-in is required.
|