Skip to content

ci: centralize release versioning with independent change fragments - #44

Merged
zhanghanduo merged 1 commit into
mainfrom
codex/release-fragments
Sep 25, 2026
Merged

zhanghanduo merged 1 commit into
mainfrom
codex/release-fragments

Conversation

@zhanghanduo

Copy link
Copy Markdown
Collaborator

Problem

Every published-code PR currently edits the same version, lockfile and changelog header. Merging one PR immediately conflicts with its peers even when their code changes are independent.

Change

Feature PRs add independent changes/<id>.fix|feature|breaking.md files and keep the current release version. scripts/prepare_release.py aggregates fragments into one release PR, selects PATCH or MINOR, updates the version/changelog and consumes the fragments; uv lock completes preparation.

The existing version-bump status name is retained for branch protection. CI checks new fragments, protects existing notes from deletion outside releases, validates release versions/notes/lock consistency, and no longer permits the old label bypass. Tag validation rejects pending fragments or a stale project lock. Development snapshots are identified by commit SHA; package versions identify releases.

The same shared commit is included in #42, #43 and #40 so those PRs use the new gate immediately. Their only release metadata changes are independent fragments. Merge this workflow PR first for a smaller subsequent review; it is also safe if a migrated feature PR merges first.

Validation

@zhanghanduo
zhanghanduo merged commit d90ecb5 into main Sep 25, 2026
5 checks passed
@zhanghanduo
zhanghanduo deleted the codex/release-fragments branch September 25, 2026 06:20
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.

1 participant