release: bump-formula job has been failing on every release #107
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
The
bump-formulajob in.forgejo/workflows/release.ymlhas failed on every release for many consecutive runs - confirmed across at least 5 recent task entries (head SHAsa05c43a,31e98ca,3a088ac,26fd54c,838fe52). Thereleasejob succeeds and tags get cut (v2.42.0 is live), butFormula/coily.rbis stuck pointing atv2.37.2 / 298d627d8d39e4b7f53767b8604141173023cca7.Net effect: brew users on
coily upgradesee no update even though forgejo releases are progressing. Manual formula bump is the workaround.What we know
coilysiren/agentic-os/actions/bump-formula@main.permissions: contents: writeis declared on the job.runs-on: docker.release,windows-assets) on the same runner succeed.Next steps
Formula/coily.rbtov2.42.0if it has not already drifted further.For now, manually bumping
Formula/coily.rbtov2.42.0so the current release is installable via brew.Pulled the actual failure log via the new
coily ops forgejo actions task logs --repo coilysiren/coily --id 97verb (#109). Forgejo task 97, bump-formula step:So my earlier auth-scope hypothesis was wrong. The runner reaches Forgejo, the PUT to
/api/v1/repos/coilysiren/coily/contents/Formula/coily.rbis accepted (no 401/403), and Forgejo itself returns HTTP 500 with an emptymessage. The body'surlfield is just the generic swagger-help link Forgejo's catch-all error path emits, not a real redirect.Rules out:
Candidates to chase next:
message + content + sha + branchfor an existing file)committer, etc.)Formula/in the Contents APIReproduction plan when time allows: hit the same endpoint manually with the SSM PAT and the same payload, drop fields one at a time, narrow which addition flips it from 200 to 500. Track that under this issue.
Reproduced from the Mac with the SSM PAT, same payload shape and same endpoint:
It commits cleanly (diag commit
6d7fecab1524a1a723bb5154dd9e3a7d17ed1908onmain, no-op tree,[skip ci]so it didn't trigger a release).That isolates the failure to the runner's auto-issued
${{ github.token }}. The action defaultsforgejo_token: ${{ github.token }}. With the SSM-stored PAT in the Authorization header, the same payload returns 200. With the runner's auto-issued token, the same payload returns 500 with an empty message body.Fix options:
forgejo_tokenas an input; this is the documented escape hatch. Lowest-risk fix.Recommendation: do (1) now, file (2) as a separate upstream issue. The action's input default is fine; coily's release.yml just needs to set
forgejo_token: ${{ secrets.FORGEJO_PAT }}(or whatever the secret is named) on the bump-formula step, after stashing the SSM-stored token as a Forgejo Actions secret on the repo.Cleanup note: the no-op diag commit on main is harmless (
[skip ci], empty tree). Leaving it rather than force-pushing.