Switch day: make Forgejo the forge #499

Open
opened 2026-10-21 10:07:30 +00:00 by root · 8 comments
root commented 2026-10-21 10:07:30 +00:00 (Migrated from gitlab.core-project.space)

Parent

#489

What to build

In one day, Forgejo becomes the forge, following the switch-day checklist; a runbook ticket the owner runs with an agent, fixed forward with no fallback. Forgejo and its runner come up on the CI VPS and the chess-bot account gets one token per purpose. The project is imported from GitLab: repository, issues with their numbers, labels, and closed merge requests as pull requests with their comments, nothing CI-related. The converter turns ## Blocked by sections into native dependencies. origin moves to Forgejo, Forgejo push-mirrors to GitHub, main is protected (required checks, fast-forward only, no direct push), and gitlab.core-project.space redirects to the new host. The first green run on main deploys production. infra/gitlab/ and .gitlab-ci.yml are deleted. GitLab is backed up once and stopped.

Seam: the switch-day checklist (spec ## Seams).

Acceptance criteria

  • Every checklist step up to "GitLab stopped" is ticked with its check command's output.
  • Issue numbers on Forgejo match GitLab's; the merge request renumbering is recorded on the spec.
  • Production serves an image built and deployed by Forgejo.
  • GitHub's copy matches Forgejo's main.
  • Branch protection on main, read back through the API, requires the gate's checks and fast-forward merges.
  • The GitLab backup is stored where the checklist says; GitLab's container is stopped.
## Parent #489 ## What to build In one day, Forgejo becomes the forge, following the switch-day checklist; a runbook ticket the owner runs with an agent, fixed forward with no fallback. Forgejo and its runner come up on the CI VPS and the `chess-bot` account gets one token per purpose. The project is imported from GitLab: repository, issues with their numbers, labels, and closed merge requests as pull requests with their comments, nothing CI-related. The converter turns `## Blocked by` sections into native dependencies. `origin` moves to Forgejo, Forgejo push-mirrors to GitHub, `main` is protected (required checks, fast-forward only, no direct push), and `gitlab.core-project.space` redirects to the new host. The first green run on `main` deploys production. `infra/gitlab/` and `.gitlab-ci.yml` are deleted. GitLab is backed up once and stopped. Seam: the switch-day checklist (spec `## Seams`). ## Acceptance criteria - [ ] Every checklist step up to "GitLab stopped" is ticked with its check command's output. - [ ] Issue numbers on Forgejo match GitLab's; the merge request renumbering is recorded on the spec. - [ ] Production serves an image built and deployed by Forgejo. - [ ] GitHub's copy matches Forgejo's `main`. - [ ] Branch protection on `main`, read back through the API, requires the gate's checks and fast-forward merges. - [ ] The GitLab backup is stored where the checklist says; GitLab's container is stopped.
root commented 2026-10-21 10:07:44 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #500

mentioned in issue #500
root commented 2026-10-21 10:08:22 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #489

marked this issue as related to #489
root commented 2026-10-21 10:08:39 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #498

marked this issue as related to #498
root commented 2026-10-21 10:08:41 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #500

marked this issue as related to #500
root commented 2026-10-21 11:06:57 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit bea27eb53f

mentioned in commit bea27eb53fe4619da28169163b47ab8096a8b379
root commented 2026-10-22 09:46:39 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 888553fe66

mentioned in commit 888553fe66437232eefb617bdcbda859611be519
root commented 2026-10-22 09:54:33 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !571

mentioned in merge request !571
root commented 2026-10-22 10:02:39 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #498

mentioned in issue #498
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#499
No description provided.