Skip to content

ci(release): PR-merge-only releases + client-id auth#46

Merged
jimCresswell merged 1 commit into
mainfrom
feat/release-pr-merge-only
Jun 18, 2026
Merged

ci(release): PR-merge-only releases + client-id auth#46
jimCresswell merged 1 commit into
mainfrom
feat/release-pr-merge-only

Conversation

@jimCresswell

Copy link
Copy Markdown
Contributor

What & why

Owner direction (point 7): release creation originates only from a merge to main.

  • Remove the manual workflow_dispatch trigger and the forced-increment / manual-major path. A breaking marker still stands the auto-release down, and the prevent-accidental-major commit-msg hook still blocks markers; the rare major is cut by a human engineer outside this repo's automation.
  • audit_release_workflow now forbids workflow_dispatch (it previously required it) — releases are structurally PR-merge-only. Tests updated.
  • Auth via client-id (RELEASE_APP_CLIENT_ID) instead of the deprecated app-id.

Governance doc reconciled to verified state

Checked against the live API: required status checks (Quality gates, Secret scanning, CodeQL, SonarCloud) and a v* tag ruleset are now enforced; the only outstanding owner action is the GitHub Code Quality org preview. The release-bot secrets + bypass actor are in place.

Also

  • Scrubbed the predicted version number from continuity (per "don't assume future release values") and recorded that continuous release is verified and PR-merge-only.

🤖 Generated with Claude Code

Per owner direction: release creation originates ONLY from a merge to main.
Remove the manual workflow_dispatch trigger and the forced-increment /
manual-major path from the release workflow; a breaking marker still stands
the auto-release down, and the rare major is cut by a human engineer outside
this repo's automation. audit_release_workflow now FORBIDS workflow_dispatch
(it previously required it), with tests updated.

Switch actions/create-github-app-token to client-id (RELEASE_APP_CLIENT_ID)
to clear the app-id deprecation.

Refresh the governance doc to the verified GitHub state: required status
checks (Quality gates, Secret scanning, CodeQL, SonarCloud) and a v* tag
ruleset are now enforced; only the Code Quality org preview remains. Scrub
the predicted version number from continuity and record that continuous
release is verified and PR-merge-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 18, 2026 13:44
@sonarqubecloud

Copy link
Copy Markdown

@github-code-quality

Copy link
Copy Markdown

Code Coverage Overview

Languages: Python

Python / code-coverage/pytest

The overall coverage remains at 89%, unchanged from the branch.


Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@jimCresswell jimCresswell merged commit ca4564c into main Jun 18, 2026
8 checks passed
@jimCresswell jimCresswell deleted the feat/release-pr-merge-only branch June 18, 2026 13:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repository’s release governance to ensure releases can only be created automatically after a successful CI run on main (i.e., originating from merges to main), removes the manual workflow_dispatch release path, and switches GitHub App authentication from app-id to client-id (RELEASE_APP_CLIENT_ID) across code and documentation.

Changes:

  • Enforce “no workflow_dispatch” in audit_release_workflow, and update the corresponding unit tests.
  • Remove workflow_dispatch (and forced increment logic) from the Release workflow so release creation is strictly CI-on-main driven.
  • Reconcile repository documentation and operational continuity notes to reflect the verified PR-merge-only continuous release model and the client-id secret naming.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/repo_audit.py Updates the audit rule to forbid workflow_dispatch for the release workflow.
tests/test_repo_audit.py Updates test fixtures and assertions to match the new “dispatch forbidden” audit behavior.
README.md Updates release documentation to reflect PR-merge-only releases and RELEASE_APP_CLIENT_ID.
docs/repository-governance.md Updates governance checklist to match current enforced GitHub settings and release bot wiring.
docs/dev-tooling.md Updates release tooling documentation to remove manual dispatch and reference client-id auth.
.github/workflows/release.yml Removes manual dispatch trigger and forced increment path; switches token creation to client-id.
.agent/memory/operational/repo-continuity.md Updates continuity notes to remove predicted versions and record PR-merge-only release verification.

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