Skip to content

feat: default release_token to state_token to arm the rc-to-release chain - #258

Merged
joshua-temple merged 2 commits into
mainfrom
feat/release-token-defaults-to-state
Jun 23, 2026
Merged

joshua-temple merged 2 commits into
mainfrom
feat/release-token-defaults-to-state

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

When state_token is a trigger-capable PAT or App token (for protected-trunk writes) but release_token is left unset, release_token defaulted to secrets.GITHUB_TOKEN. GitHub suppresses workflow triggers for ref-creations made with GITHUB_TOKEN, so the rc tag fired nothing and the Release pipeline died silently.

An unset release_token now inherits the state_token expression when one is set, reusing the trigger-capable token already configured. Both-unset keeps the historical GITHUB_TOKEN default; an explicit release_token still wins. App-backed-only state tokens keep the default and are documented to set a static release_token.

Coverage: config table tests, generator tests (defaults-to-state plus both-unset back-compat), an orchestrate e2e scenario, and a docs caution box. Schema version unchanged; no new manifest field. cascade's own workflows are unchanged (its manifest sets release_token explicitly).

Closes #255

…hain

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple
joshua-temple enabled auto-merge (squash) June 23, 2026 00:21
…e-token-default scenario sets it

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple
joshua-temple merged commit dd10d1e into main Jun 23, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: release_token must be trigger-capable for the rc-to-release chain (silent footgun when only state_token is set)

1 participant