Release pipeline: fork can't cut releases on forgejo.philflow.me (release.yml targets codeberg, no runner) #11

Open
opened 2026-06-17 09:20:24 +00:00 by Phil · 0 comments
Owner

Context

The fork has no working release path on its own Forgejo:

  • .forgejo/workflows/release.yml is the upstream goern workflow — runs-on: codeberg-small and hardcoded codeberg.org/api/v1/... URLs.
  • No tags exist on origin (forgejo.philflow.me) — releases were never cut here.
  • No PR-CI exists on the fork at all (upstream CI is Tekton on codeberg, .tekton/).
  • The workstation has no Go 1.25 toolchain; prior binaries were built elsewhere.

Current interim build path (used for the v2.23.0 fixes, #6/#7/#8)

Built reproducibly in a container with no local Go and no runner:

docker run --rm -v "$PWD":/src -w /src -e GOFLAGS=-buildvcs=false golang:1.26-alpine \
  sh -c "go build -ldflags \"-s -w -X 'main.Version=2.23.0-dev+<sha>'\" -o forgejo-mcp ."

then atomic-installed to ~/.local/bin/forgejo-mcp (rename, not in-place — running binary is ETXTBSY) and pinned ~/.local/bin/forgejo-mcp.head = git rev-parse HEAD. This works but isn't a real release.

What's needed for a proper Fork-Release-CI on philflow.me

  1. Adapt release.yml: runs-on → an existing Philflow runner label; replace codeberg.org/api/v1/... in the .mcpb step with the fork host; set .goreleaser.yml gitea_urls to forgejo.philflow.me.
  2. Register a runner that has Go 1.25 + goreleaser (or let goreleaser pull Go via the workflow's setup-go).
  3. Add RELEASE_TOKEN secret.
  4. Tag v2.23.0 → goreleaser builds forgejo-mcp_2.23.0_linux_amd64.tar.gz as a release asset; update flow.raven-deployment/scripts/setup-raven-dev-mcp-toolchain.sh (and a workstation equivalent) to pull from the fork release instead of codeberg.
  5. Make the install path auto-write forgejo-mcp.head from git rev-parse HEAD (the pin was stale since 2026-05-22 and nearly misled a provenance analysis).

Also

ADR-KV-018 says "~95 tools" — after the slim (commit 633927a, 102→73) the real surface is 73. Update the ADR.

Found by the forgejo-mcp tool-call forensic audit, 2026-06-17.

## Context The fork has no working release path on its own Forgejo: - `.forgejo/workflows/release.yml` is the upstream goern workflow — `runs-on: codeberg-small` and hardcoded `codeberg.org/api/v1/...` URLs. - No tags exist on `origin` (forgejo.philflow.me) — releases were never cut here. - No PR-CI exists on the fork at all (upstream CI is Tekton on codeberg, `.tekton/`). - The workstation has no Go 1.25 toolchain; prior binaries were built elsewhere. ## Current interim build path (used for the v2.23.0 fixes, #6/#7/#8) Built reproducibly **in a container** with no local Go and no runner: ``` docker run --rm -v "$PWD":/src -w /src -e GOFLAGS=-buildvcs=false golang:1.26-alpine \ sh -c "go build -ldflags \"-s -w -X 'main.Version=2.23.0-dev+<sha>'\" -o forgejo-mcp ." ``` then atomic-installed to `~/.local/bin/forgejo-mcp` (rename, not in-place — running binary is ETXTBSY) and pinned `~/.local/bin/forgejo-mcp.head` = `git rev-parse HEAD`. This works but isn't a real release. ## What's needed for a proper Fork-Release-CI on philflow.me 1. Adapt `release.yml`: `runs-on` → an existing Philflow runner label; replace `codeberg.org/api/v1/...` in the `.mcpb` step with the fork host; set `.goreleaser.yml` `gitea_urls` to forgejo.philflow.me. 2. Register a runner that has Go 1.25 + goreleaser (or let goreleaser pull Go via the workflow's setup-go). 3. Add `RELEASE_TOKEN` secret. 4. Tag `v2.23.0` → goreleaser builds `forgejo-mcp_2.23.0_linux_amd64.tar.gz` as a release asset; update `flow.raven-deployment/scripts/setup-raven-dev-mcp-toolchain.sh` (and a workstation equivalent) to pull from the fork release instead of codeberg. 5. Make the install path auto-write `forgejo-mcp.head` from `git rev-parse HEAD` (the pin was stale since 2026-05-22 and nearly misled a provenance analysis). ## Also ADR-KV-018 says "~95 tools" — after the slim (commit 633927a, 102→73) the real surface is **73**. Update the ADR. Found by the forgejo-mcp tool-call forensic audit, 2026-06-17.
Sign in to join this conversation.
No labels
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
Phil/forgejo-mcp#11
No description provided.