ci: move every workflow off the App private key - #163
Merged
Merged
Conversation
Contributor
soothfast gate |
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
2 times, most recently
from
September 6, 2026 00:53
e2e7926 to
3f8e88b
Compare
Contributor
soothfast gate |
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
from
September 6, 2026 01:34
3f8e88b to
4ff8007
Compare
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
from
September 6, 2026 01:35
4ff8007 to
7d417ec
Compare
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
2 times, most recently
from
September 6, 2026 02:02
c27bc98 to
e8dc437
Compare
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
from
September 6, 2026 02:04
e8dc437 to
3510e0b
Compare
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
from
September 6, 2026 02:10
3510e0b to
3382b60
Compare
- spec.yml and docs-regen land through bot-token.sh and land.sh like the changelog; deploy-docs and the release use github.token, which only changes who the release and gh-pages push are attributed to. - soothfast-gate.yml becomes callable from another repo: the comment uses github.token, the App secret is declared unused for one release, and cli-artifact selects the prebuilt CLI or the setup action.
Verdenroz
force-pushed
the
feat/soothfast-bot-workflows
branch
from
September 6, 2026 02:12
3382b60 to
c77c912
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
After this, no workflow in the repo mints an App token.
spec.ymland thedocs-regenjob inci.ymlland throughaction/bot-token.shandaction/land.shthe same waychangelog.ymldoes.deploy-docsand the release step usegithub.token.soothfast-gate.ymldrops the App entirely and becomes something another repo can call.generatejob inspec.ymlanddocs-regeninci.yml:environment: soothfast-bot, permissionscontents: readandid-token: write, checkout withpersist-credentials: false, aconcurrencygroup each, and the token minted after the generation step.docs-regenkeeps its llms.txt churn filter.deploy-docs(peaceiris/actions-gh-pages) and thegh release createstep inrelease.ymltogithub.token. Attribution-only change: the gh-pages push and the release show github-actions instead of soothfast-bot.soothfast-gate.ymlcallable cross-repo. The PR comment usesgithub.tokenunderpull-requests: write, the PR number reaches the shell throughenv,CHANGELOG_APP_PRIVATE_KEYstays declared but optional and unused for one release so existing callers keep validating, and a newcli-artifactinput selects a prebuilt CLI from the run or falls back to the setup action.gatematrix inci.ymlatcli-artifact: cargo-soothfast-binand stopped passing the secret.CLAUDE.mdaround the broker and added a reusable-gate example to the README's "In CI" section.Part of #158 and #14.
Why
The App private key was minted in six places. Once the changelog proves the broker path, keeping the other five on the key means two credential paths to reason about and a secret that still has to exist. Moving them together lets the
CHANGELOG_APP_*variable and secret be deleted after this merges. The release and gh-pages pushes never needed a bot identity, only write permission, whichgithub.tokenalready grants. A tag push is not a default-branch ref, so the broker would refuse it by design, and that rule stays as is.How was this tested
zizmor1.29.0 across every workflow in.github/workflows/: no findings.soothfast-gate.yml.cli-artifactset, which exercises the artifact path; the setup-action fallback is exercised by the first cross-repo caller.make checkandmake gatewere not run for this layer. It changes no Rust.After merge, by hand: delete the
CHANGELOG_APP_CLIENT_IDvariable andCHANGELOG_APP_PRIVATE_KEYsecret from this repo. That can happen right away; finance-query holds its own copy of the secret and the reusable workflow now ignores it. The first master push after this lands runs spec generate and docs-regen through the broker, so it needs the same prerequisites as #161: broker deployed,soothfast-botenvironment created, smoke run green. Watch that push'sdeploy-docstoo: it now pushes gh-pages withgithub.token, and if the Pages build does not fire the fallback is the officialupload-pages-artifact+deploy-pagespair in a separate PR.Checklist
make checkpasses (fmt, clippy-D warnings,cargo test --workspace)make gate BASE=masterpasses, or any intentional cost change is explained above///doc commentsREADME.md,docs/,soothfast:bind/soothfast:claimmarkers) updated if behavior changed