richardcase / richardcase/clowder
Abort releases when main advances after version planning
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 14m
- Merged PRs (30d)
- 16
Description
Problem
The release workflow snapshots base_sha while computing the version, but the later merge only constrains the release PR head. With non-strict required status checks, newer commits on main can enter the merge commit and be built/tagged without being included in the version or release-note calculation.
Evidence: https://github.com/richardcase/clowder/blob/b5492d5/.github/workflows/release.yml#L75
Merge step: https://github.com/richardcase/clowder/blob/b5492d5/.github/workflows/release.yml#L406-L434
Build checkout: https://github.com/richardcase/clowder/blob/b5492d5/.github/workflows/release.yml#L478-L484
Acceptance criteria
- Before merging, require the default branch tip to equal the planned
base_sha. - Abort and require a fresh plan/retest when it has advanced.
- Add a workflow test or script-level guard for this race.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with .github/workflows/release.yml, especially the version-planning reference near line 75 and merge and build steps at lines 406-434 and 478-484. Trace how base_sha is captured and used, then add the pre-merge guard and a workflow test or script-level check for an advanced default branch. Done means the release aborts and requires a fresh plan/retest when main no longer matches base_sha.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100