Skip to content

ci(release): CI-native verified release flow - #40

Merged
helly25 merged 1 commit into
mainfrom
ci/reusable-release-verified-ci
Jun 28, 2026
Merged

ci(release): CI-native verified release flow#40
helly25 merged 1 commit into
mainfrom
ci/reusable-release-verified-ci

Conversation

@helly25

@helly25 helly25 commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Reworks the reusable trigger_release.yaml to perform the release in CI (no local script, no GitHub App needed):

  • Signed tag pushed with the PAT (RELEASE_TOKEN, a repo admin) -> admin-bypasses the tag ruleset and triggers release.yml.
  • Bump commit via the GitHub Contents API -> GitHub signs it (Verified), clearing the required_signatures branch ruleset that rejected the git-pushed commit before.
  • PR approved by github-actions[bot] (a different identity than the PAT author -> counts as the 1 required review; no CODEOWNERS, require_last_push_approval: false).
  • Squash auto-merge completes once pre-commit + done pass.

Callers grant pull-requests: write (for the bot approval). Reuses existing secrets (RELEASE_TOKEN, RELEASE_GPG_*); no App, no new secrets.

Rework the reusable workflow to cut the release itself instead of running the caller's local trigger_release.sh (which is Keychain/admin-local and produced an Unverified bump commit in CI). Now: push the signed tag with the PAT (admin-bypasses the tag ruleset, triggers release.yml); create the version-bump commit via the GitHub Contents API so GitHub signs it (Verified -> passes the required-signatures branch ruleset); open the bump PR; approve it as github-actions[bot] (distinct identity, counts as the required review); enable squash auto-merge. Needs the caller to grant pull-requests: write.
@helly25
helly25 merged commit 21b13b0 into main Jun 28, 2026
5 checks passed
@helly25
helly25 deleted the ci/reusable-release-verified-ci branch June 28, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants