ci(release): git-history-driven release flow (git-cliff) with approved release pr - #11
Merged
Merged
Conversation
workflow_dispatch builds and publishes the current version to PyPI without any bump - used once to seed oddyssey-mcp 0.1.0, which the apm.yml pin already references. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mathieudutour/github-tag-action is unmaintained (last release two years ago, node20); googleapis/release-please-action v5 (node24, actively maintained) replaces it. Nothing pushes to main: release- please maintains a chore release PR with the version bumps (apm.yml version + uvx pin, server pyproject via x-release-please-version annotations) and CHANGELOG.md; merging that PR creates the tag and the GitHub release, which triggers build + PyPI publish. The manifest seeds 0.1.0, so no baseline tag is needed. The workflow_dispatch bootstrap path stays for seeding PyPI. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The version's only memory is git itself: git-cliff (official orhun/git-cliff-action, actively maintained, node-free composite) computes the bump from tags + conventional commits and regenerates CHANGELOG.md; peter-evans/create-pull-request maintains the chore(release) PR a human approves - nothing pushes to main. Merging that PR tags the commit and publishes the GitHub release with the git-cliff notes, then build + PyPI publish run. The release-please manifest/config files and version annotations are gone; cliff.toml is the canonical git-cliff --init config. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Merged
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.
Third and final shape of the release pipeline, after the two dead ends (stale tag-action; release-please's version manifest):
The version's only memory is git itself — tags + Conventional Commits, nothing else:
main, git-cliff (orhun/git-cliff-action v4.8.0, the official action of the actively-maintained reference tool) computes the bumped version from git history and regeneratesCHANGELOG.md.chore(release): x.y.zPR carrying the bumps (apm.ymlversion +oddyssey-mcp==x.y.zpin, serverpyproject.toml,uv.lock,CHANGELOG.md) with the git-cliff notes as body. Nothing pushes to main — you approve and merge.Also:
workflow_dispatchbootstrap (build+publish the current version, to seedoddyssey-mcp 0.1.0),cliff.toml= the canonicalgit-cliff --initconfig (behavior config, not version state). The whole computation (--bump, context version, changelog) was validated locally against this repo's real history: next version without tags = 0.1.0, matching the current pins.After merge: dispatch the bootstrap (publishes 0.1.0 — requires the PyPI pending publisher:
oddyssey-mcp/using-system/oddyssey/release.yml/ envpypi), then seed the baseline tagv0.1.0. The nextfeat:/fix:merge produces the first automatic release PR.Caveat (unchanged): PRs created with
GITHUB_TOKENdon't triggerpull_requestworkflows, so CI won't run on release PRs (no required checks today).🤖 Generated with Claude Code