fix(release): trigger on merge-to-main with should_release gate#107
Open
kayodebristol wants to merge 1 commit into
Open
fix(release): trigger on merge-to-main with should_release gate#107kayodebristol wants to merge 1 commit into
kayodebristol wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Chronos’ release workflow to restore autonomous releases by triggering the reusable release pipeline on merge-to-main (instead of only on v* tag pushes), and adds a concurrency guard intended to prevent overlapping release runs.
Changes:
- Add
push: branches: [main]so merges tomaincan initiate releases. - Add a top-level
concurrencygroup to serialize release workflow runs.
Comment on lines
+16
to
+18
| concurrency: | ||
| group: release-${{ github.repository }}-${{ github.ref_name }} | ||
| cancel-in-progress: false |
| type: string | ||
| required: false | ||
| concurrency: | ||
| group: release-${{ github.repository }}-${{ github.ref_name }} |
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.
Problem
Releases stopped org-wide since ~2026-05-11. PR plures/.github#13 fixed version computation (highest-tag reconciliation), but releases still won't fire because every repo's
release.ymltriggers only onpush: tags: ['v*']+workflow_dispatch.The release pipeline is what creates and pushes the
v*tag. So a tag is an output of a release, never an input on merge-to-main. Result: a circular trigger — nothing pushes a tag on normal merges, so nothing releases. The only start paths are a human clicking Run workflow or hand-pushing a tag = manual dependency (violatesautomation-first+zero-manual-dependency).Fix
Add
push: branches: [main](conventional-commit autobump on merge-to-main, the documented model ineven-odd-release-versioning.mdand the reusable's own USAGE header) plus a concurrency guard. Keeptags: ['v*']andworkflow_dispatchfor backward-compat.No over-release risk: the reusable
release-reusable.ymldecidestep already returnsshould_release=falsefor chore/ci/docs-only pushes (git log LAST_TAG..HEADempty or nofeat|fix|perf|refactor), and every downstream job gates onshould_release == 'true'. The self-triggeredchore(release):bump push re-runs prepare, sees the fresh tag asLAST_TAG, and cleanly no-ops (concurrency guard serializes it).Validation
actionlintpasses; 0 literal-\nmangling; 0 secret corruption.Scope
Mechanical, byte-identical fix across ~70 release-bearing plures repos. This is the canary (chronos). Full findings + sweep list: workspace
tmp/release-trigger-findings.md. Do not merge until canary behavior is confirmed on one real merge-to-main.MSC Alignment: Execution Discipline — restores autonomous, deterministic org-wide releases.