Add Forgejo release pipeline (precompiled 6-platform assets) #3

Closed
opened 2026-06-03 00:11:02 +00:00 by coilysiren · 1 comment
Owner

Problem

o2r releases were cut by hand: Formula/o2r.rb pinned manually, chore: release vX commits, no .forgejo/workflows/ at all.

Goal (revised for the precompiled-tap design)

A push to canonical Forgejo main cuts the tag + release and attaches a prebuilt binary for every supported platform. These assets are the distribution substrate the Homebrew formula (flight-deck homebrew-tap) and the Scoop manifest (flight-deck scoop-bucket) both download and verify. No build-from-source on the install path.

Delivered

.forgejo/workflows/release.yml:

  • release job - tag-bump@main (default_bump patch, picks up from v0.1.2) -> create-release@main. Tag is the only version artifact.
  • assets job - matrix of 3 OS x 2 arch (darwin/linux/windows, amd64/arm64). CGO_ENABLED=0 go build -tags prod -trimpath -ldflags "-s -w -X main.Version=$TAG" -> o2r-<os>-<arch>[.exe] + .sha256 sidecar, both uploaded via upload-release-asset@main. The asset name is the pin contract for both downstream consumers.

All six targets cross-compile clean and the version ldflag stamps (o2r --version).

Out of scope (moved to follow-ups)

  • Formula - relocates from in-tree build-from-source to a download-prebuilt formula in the flight-deck homebrew-tap. Auto-bump of per-platform url+sha256 needs new cross-repo automation. Tracked separately.
  • prod build tag - no-op today (cmd/o2r has no build constraints), kept for build-line parity.

Notes / open

  • CI_RELEASE_TOKEN must be provisioned for coilyco-flight-deck repos for any cross-repo formula bump (see deferred GitHub/secrets inbox ticket).
## Problem o2r releases were cut by hand: `Formula/o2r.rb` pinned manually, `chore: release vX` commits, no `.forgejo/workflows/` at all. ## Goal (revised for the precompiled-tap design) A push to canonical Forgejo `main` cuts the tag + release and attaches a prebuilt binary for every supported platform. These assets are the distribution substrate the Homebrew formula (flight-deck `homebrew-tap`) and the Scoop manifest (flight-deck `scoop-bucket`) both download and verify. No build-from-source on the install path. ## Delivered `.forgejo/workflows/release.yml`: - **release** job - `tag-bump@main` (default_bump patch, picks up from v0.1.2) -> `create-release@main`. Tag is the only version artifact. - **assets** job - matrix of 3 OS x 2 arch (darwin/linux/windows, amd64/arm64). `CGO_ENABLED=0 go build -tags prod -trimpath -ldflags "-s -w -X main.Version=$TAG"` -> `o2r-<os>-<arch>[.exe]` + `.sha256` sidecar, both uploaded via `upload-release-asset@main`. The asset name is the pin contract for both downstream consumers. All six targets cross-compile clean and the version ldflag stamps (`o2r --version`). ## Out of scope (moved to follow-ups) - **Formula** - relocates from in-tree build-from-source to a download-prebuilt formula in the flight-deck `homebrew-tap`. Auto-bump of per-platform url+sha256 needs new cross-repo automation. Tracked separately. - **`prod` build tag** - no-op today (cmd/o2r has no build constraints), kept for build-line parity. ## Notes / open - `CI_RELEASE_TOKEN` must be provisioned for coilyco-flight-deck repos for any cross-repo formula bump (see deferred GitHub/secrets inbox ticket).
coilysiren changed title from Add Forgejo release pipeline (auto-tag, bump formula, Windows assets) to Add Forgejo release pipeline (precompiled 6-platform assets) 2026-06-03 00:21:15 +00:00
Author
Owner

Closing. o2r is archived in the June 2026 surface reduction - an optional agent channel, unused autonomously. Handover doctrine moves to human-mediated.

Closing. o2r is archived in the June 2026 surface reduction - an optional agent channel, unused autonomously. Handover doctrine moves to human-mediated.
Commenting is not possible because the repository is archived.
No description provided.