fix: restore automatic release approvals - #108
Conversation
📝 WalkthroughWalkthroughThe release workflow now starts from prepared-release dispatches or manual runs. Prepared releases include the extracted version. An approval job gates publishing, validates the version, and uses dedicated publish concurrency. The documentation describes both release paths. ChangesRelease automation
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Sequence Diagram(s)sequenceDiagram
participant PrepareRelease as prepare-release job
participant GitHub as GitHub repository
participant ReleaseWorkflow as release workflow
participant ApprovalJob as approval job
participant ReleaseJob as release job
participant PublishJob as publish job
PrepareRelease->>GitHub: Dispatch prepared-release with version
GitHub->>ReleaseWorkflow: Start versioned release run
ReleaseWorkflow->>ApprovalJob: Request environment approval
ApprovalJob->>ReleaseJob: Complete approval
ReleaseJob->>ReleaseJob: Verify dispatched version
ReleaseJob->>PublishJob: Start release publishing
PublishJob->>PublishJob: Use release-publish concurrency
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release.yml:
- Around line 22-28: Move the release-publish concurrency configuration from the
release job to workflow scope so it covers both release and publish jobs.
Preserve the release-publish group name and cancel-in-progress: false behavior,
ensuring later workflow runs wait while either job is publishing.
- Around line 2-8: After the Find release candidate step, add a
repository_dispatch-only validation comparing
github.event.client_payload.version with steps.candidate.outputs.version; fail
the workflow when either value is empty or they differ. Keep workflow_dispatch
exempt, and retain the existing post-merge check unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 55946d31-6926-4177-bcdb-1a9cda067067
📒 Files selected for processing (3)
.github/workflows/ci.yml.github/workflows/release.ymlCONTRIBUTING.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release.yml:
- Around line 26-28: Update the workflow validation configuration used for
.github/workflows/release.yml so it recognizes the valid GitHub Actions
concurrency setting queue: max, including both reported locations. Keep queue:
max unchanged unless the release workflow intentionally permits canceling
pending runs; prefer upgrading or configuring the validator/schema to support
this syntax.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: d7dd6983-8747-4be9-9c52-494d24b6949b
📒 Files selected for processing (1)
.github/workflows/release.yml
Summary
Result
Automatic: merge -> Release vX.Y.Z -> wait for approval
Manual fallback: Run workflow -> release starts immediately
Testing
Summary by CodeRabbit
New Features
Documentation