fix(ci): push the changelog as a whitelisted bot, not the Actions identity #62
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/changelog-bot-token"
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?
secrets.FORGEJO_TOKEN is not a secret this repo forgot to create -- the
FORGEJO_ prefix is reserved (as are GITEA_ and GITHUB_), so no secret can
exist under that name. It resolves instead to the runner's built-in
Actions identity, uid -2.
That is fine for the three steps that only clone or read tags, and it is
why they work today. It is not fine for the changelog, which pushes to
main: a protected branch whitelists accounts, and uid -2 is not one. The
pre-receive hook cannot resolve it to a user at all, which is why the
refusal arrived as "Internal Server Error (no message for end users)"
instead of naming the protection -- the same opaque 500 seen on v0.30.0
through v0.33.1.
Only the changelog step moves, to CI_BOT_TOKEN, held by
ci-brooktrails-gllm-bot, which is now on main's push whitelist. The
checkout and tag pushes keep the built-in identity deliberately: they
work, and repointing them at a secret would make the whole job depend on
it being present.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Automated review by pr-reviewer v0.44.2 | Safety Check | Claude Sonnet 5 | tracking id
r-72f2af-bbd424This is an AI-generated review and may contain mistakes.
Status: ✅ Completed
✅ Verdict: LGTM — The diff only swaps a secret reference used for authenticating a changelog push step; no literal credentials are exposed and the change is narrowly scoped as described.
The change swaps
secrets.FORGEJO_TOKENforsecrets.CI_BOT_TOKENin a single step, referencing a secret via the standard Actions/Forgejosecrets.*interpolation — this is not a literal exposed credential, just a reference to a secret presumably already configured in the repo's CI settings. The "possible secret detected" flag is a false positive from the automated scanner, likely triggered by the word "token" and the explanatory comment discussing token/secret resolution behavior.The change itself is small, well-scoped, and the reasoning in the PR description (reserved secret prefixes resolving to the built-in Actions identity, which can't be whitelisted on a protected branch) is coherent and plausible. Only the changelog-push step is touched; checkout/tag steps are left alone as stated. No logic bugs, no breaking changes beyond the intended fix, no committed credentials.