Migrate release pipeline to forgejo (GitHub can't host it post-PR-disable) #1

Open
opened 2026-05-23 20:53:18 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-23T04:10:29Z - https://github.com/coilysiren/agentic-os/issues/150

Problem. GitHub origin can't host release-please (or equivalent) any more. hasPullRequestsEnabled is false on coilysiren/agentic-os (set 2026-05-21 in the 10-repo PR-disable sweep tracked by coilysiren/agentic-os-kai#676), and release-please's whole flow is PR-driven. The workflow + configs got removed in #149 / d5f2d85. Result: no auto-versioning, no auto-changelog, pre-commit consumers pinned to rev: tags see no upgrade signal.

Forgejo at forgejo.coilysiren.me mirrors coilysiren/agentic-os and isn't subject to the GitHub PR toggle. Forgejo Actions runs the same actions/ workflow schema GitHub Actions does, and Forgejo has native PR + release primitives. Moving the release pipeline there preserves the no-PR-on-GitHub stance while restoring auto-versioning.

Scope.

  1. Stand up a Forgejo Actions runner (or confirm one exists) that picks up jobs from forgejo.coilysiren.me/coilysiren/agentic-os.
  2. Author .forgejo/workflows/release-please.yml (or equivalent - see below) and the release-please-config.json + .release-please-manifest.json pair. The Forgejo-Action variant of release-please is https://code.forgejo.org/actions/release-please-action if release-please is the chosen tool.
  3. Verify the release PR opens on Forgejo on the next conventional-commit push to main, merges cleanly, and cuts a Forgejo release + tag. Tag is mirrored back to GitHub via the existing forgejo->github push mirror (confirm direction; current setup pushes github->forgejo, may need inverting or duplicating).
  4. Update pre-commit consumers' rev: pin source. coilysiren/agentic-os/.pre-commit-hooks.yaml is the canonical hook source, consumed by apply-agentic-os-hooks rollout. If tags now live on Forgejo, decide whether the repo: URL in consumers stays pointed at GitHub (and we mirror tags github-ward) or repoints at Forgejo.
  5. Tool fork: release-please assumes GitHub APIs. Confirm the Forgejo port handles auth, PR open/merge, release-create. If it stalls, evaluate alternatives that are git-platform-agnostic (semantic-release, changesets, custom bumper script) before falling back to release-please-with-mirror.

Diagnose first.

  • Is the Forgejo mirror push-pull or one-way push from GitHub? If GitHub is upstream-of-record, tags cut on Forgejo won't propagate back. May need to either invert mirror direction or treat Forgejo as the actions runner only (cut tags on GitHub via PAT) - that defeats the no-PR-on-GitHub stance though.
  • Does the existing Forgejo deployment have Actions enabled ([actions] block in app.ini)? If not, that's prerequisite work.
  • Does Forgejo's release-please port support the same config schema as the GitHub version? If yes, the release-please-config.json from d5f2d85^ can be restored verbatim under a new path.

Done when.

  • A conventional-commit push to main on coilysiren/agentic-os triggers a successful release pipeline on Forgejo within ~1 min.
  • A Forgejo release + tag exists for the next bump.
  • Pre-commit consumers can pick up the new tag via their normal upgrade flow (pre-commit autoupdate or apply-agentic-os-hooks), regardless of whether the repo: URL points at GitHub or Forgejo.
  • The choice (release-please port vs alternative vs GitHub-tags-via-PAT) is documented in the merging commit's body.

Out of scope.

  • Migrating CI for other coilysiren/* repos. This issue is coilysiren/agentic-os only.
  • Re-enabling pull requests on the GitHub origin. The no-PR-on-GitHub stance is the constraint, not the target.
  • Bootstrapping a brand-new Forgejo instance. Assumes forgejo.coilysiren.me is operational.

Origin: #149 deleted the GitHub workflow without filing the followup. This is the followup.

🤖 Filed by Claude Code on Kai's behalf.

_Originally filed by @coilysiren on 2026-05-23T04:10:29Z - [https://github.com/coilysiren/agentic-os/issues/150](https://github.com/coilysiren/agentic-os/issues/150)_ **Problem.** GitHub origin can't host release-please (or equivalent) any more. `hasPullRequestsEnabled` is false on `coilysiren/agentic-os` (set 2026-05-21 in the 10-repo PR-disable sweep tracked by coilysiren/agentic-os-kai#676), and release-please's whole flow is PR-driven. The workflow + configs got removed in #149 / d5f2d85. Result: no auto-versioning, no auto-changelog, pre-commit consumers pinned to `rev:` tags see no upgrade signal. Forgejo at `forgejo.coilysiren.me` mirrors `coilysiren/agentic-os` and isn't subject to the GitHub PR toggle. Forgejo Actions runs the same `actions/` workflow schema GitHub Actions does, and Forgejo has native PR + release primitives. Moving the release pipeline there preserves the no-PR-on-GitHub stance while restoring auto-versioning. **Scope.** 1. Stand up a Forgejo Actions runner (or confirm one exists) that picks up jobs from `forgejo.coilysiren.me/coilysiren/agentic-os`. 2. Author `.forgejo/workflows/release-please.yml` (or equivalent - see below) and the `release-please-config.json` + `.release-please-manifest.json` pair. The Forgejo-Action variant of release-please is `https://code.forgejo.org/actions/release-please-action` if release-please is the chosen tool. 3. Verify the release PR opens on Forgejo on the next conventional-commit push to main, merges cleanly, and cuts a Forgejo release + tag. Tag is mirrored back to GitHub via the existing forgejo->github push mirror (confirm direction; current setup pushes github->forgejo, may need inverting or duplicating). 4. Update pre-commit consumers' `rev:` pin source. `coilysiren/agentic-os/.pre-commit-hooks.yaml` is the canonical hook source, consumed by `apply-agentic-os-hooks` rollout. If tags now live on Forgejo, decide whether the `repo:` URL in consumers stays pointed at GitHub (and we mirror tags github-ward) or repoints at Forgejo. 5. Tool fork: release-please assumes GitHub APIs. Confirm the Forgejo port handles auth, PR open/merge, release-create. If it stalls, evaluate alternatives that are git-platform-agnostic (semantic-release, changesets, custom bumper script) before falling back to release-please-with-mirror. **Diagnose first.** - Is the Forgejo mirror push-pull or one-way push from GitHub? If GitHub is upstream-of-record, tags cut on Forgejo won't propagate back. May need to either invert mirror direction or treat Forgejo as the actions runner only (cut tags on GitHub via PAT) - that defeats the no-PR-on-GitHub stance though. - Does the existing Forgejo deployment have Actions enabled (`[actions]` block in app.ini)? If not, that's prerequisite work. - Does Forgejo's release-please port support the same config schema as the GitHub version? If yes, the `release-please-config.json` from d5f2d85^ can be restored verbatim under a new path. **Done when.** - A conventional-commit push to `main` on `coilysiren/agentic-os` triggers a successful release pipeline on Forgejo within ~1 min. - A Forgejo release + tag exists for the next bump. - Pre-commit consumers can pick up the new tag via their normal upgrade flow (`pre-commit autoupdate` or `apply-agentic-os-hooks`), regardless of whether the `repo:` URL points at GitHub or Forgejo. - The choice (release-please port vs alternative vs GitHub-tags-via-PAT) is documented in the merging commit's body. **Out of scope.** - Migrating CI for other coilysiren/* repos. This issue is `coilysiren/agentic-os` only. - Re-enabling pull requests on the GitHub origin. The no-PR-on-GitHub stance is the constraint, not the target. - Bootstrapping a brand-new Forgejo instance. Assumes `forgejo.coilysiren.me` is operational. Origin: #149 deleted the GitHub workflow without filing the followup. This is the followup. > 🤖 Filed by Claude Code on Kai's behalf.
coilysiren added
P1
and removed
P0
labels 2026-05-31 07:00:09 +00:00
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
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.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/agentic-os#1
No description provided.