ci: log in to the container registry as fmartingr (FMG-5) #10
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
fmartingr/smtp2shoutrrr!10
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/full-stack-developer/2eb2e7f9a55d"
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?
The release job authenticated to
git.nakama.townas${{ github.actor }}. Tags are now pushed by the bot accountbutterrobot, so that resolved tobutterrobot— which holds collaborator rights on the repository but not write access to the container packages undergit.nakama.town/fmartingr/, since package permissions belong to the owning user rather than the repo. GoReleaser built fine and then died on push with401 Unauthorized: reqPackageAccess.That was hard to read off the logs, because the login step reported
Login Succeededeither way: Forgejo's/v2/tokenhands out an anonymous token when the credential is not authorized, sodocker loginhas nothing to fail on.The username is now fixed to
fmartingr, with a comment recording why it is not derived from the actor.Still needs confirming by hand
FORGEJO_TOKENmust be a token owned by fmartingr carrying thewrite:packagescope. If it belongs tobutterrobot, this change alone will not fix the push.I could not verify this: Forgejo never returns a secret's value, owner, or scopes through the API, and the credential available to this run is
butterrobot, which is not the repo owner (tea actions secrets list→user should be the owner of the repo). It needs checking in the repository's Actions settings.Validation
The change is CI configuration only — no Go code is touched. I verified the workflow YAML still parses and that the login step resolves to the intended command; no Go toolchain is available in this environment, so the repo's
format/lint/test/build/goreleaser-linttargets were not run locally. CI covers them on this PR.Nothing here is exercised until the next
v*tag is pushed.Closes FMG-5
The release job authenticated to git.nakama.town as `${{ github.actor }}`. Tags are now pushed by the bot account butterrobot, so that resolved to butterrobot — which holds collaborator rights on the repository but not write access to the container packages under git.nakama.town/fmartingr/, since package permissions belong to the owning user rather than the repo. The build succeeded and then died on push with `401 Unauthorized: reqPackageAccess`. The failure was hard to spot from the logs because the login step reported "Login Succeeded" either way: Forgejo's /v2/token hands out an anonymous token when the credential is not authorized, so docker login has nothing to fail on. The username is now fixed to fmartingr, and a comment records why it is not derived from the actor. FORGEJO_TOKEN must be a token owned by fmartingr carrying the write:package scope. That cannot be checked from a workflow or the API — Forgejo never returns a secret's value, owner or scopes — so it needs confirming in the repository settings. Closes FMG-5 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>