Skip to content

ci: add release-please (automated versioning/releases) — pilot#4

Open
pofallon wants to merge 1 commit into
mainfrom
ci/release-please
Open

ci: add release-please (automated versioning/releases) — pilot#4
pofallon wants to merge 1 commit into
mainfrom
ci/release-please

Conversation

@pofallon

Copy link
Copy Markdown
Contributor

Pilot of release-please for climax-mcp, to evaluate before rolling out org-wide.

What this adds

  • release-please-config.json — Python release-type; include-component-in-tag: false so tags are vX.Y.Z (matches release.yml's v* trigger); 0.x-safe bumps (bump-minor-pre-major, bump-patch-for-minor-pre-major → breaking=minor, feat=patch while <1.0).
  • .release-please-manifest.json — seeded at the last stable release 0.4.0 (current pyproject.toml is 0.5.0.dev2; release-please will replace that with a clean managed version on its first release).
  • .github/workflows/release-please.yml — on push to main, opens/updates a "chore(main): release X.Y.Z" PR; merging it bumps pyproject.toml, updates CHANGELOG.md, tags, and creates a GitHub Release.

⚠️ Two things to know (this is what the pilot is for)

  1. Conventional Commits required. climax's recent commits aren't conventional (Add pagination…, not feat: add pagination…), so release-please will be dormant until feat:/fix:/feat!: commits land. To see it work, the next change should use a conventional prefix (or we add a PR-title linter like deacon's semantic-pr.yml).
  2. Repo setting: Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" must be on, or release-please can't open the Release PR.
  3. Publish chaining caveat: a tag pushed by GITHUB_TOKEN (release-please) does not trigger the existing release.yml (PyPI publish). To auto-publish we'll either move the publish step into this workflow (gated on release_created) or give release-please a PAT. Not wired in this pilot PR — flagged for the rollout decision.

🤖 Generated with Claude Code

Pilot of release-please (manifest mode) for climax-mcp:
- release-please-config.json: python release-type, 0.x-safe bumps
  (breaking→minor, feat→patch while <1.0), tags as vX.Y.Z
- .release-please-manifest.json: seeded at last stable 0.4.0
- .github/workflows/release-please.yml: opens/updates the Release PR on push to main

NOTE: requires Conventional Commits (feat:/fix:/feat!:) to drive releases —
release-please stays dormant until such commits land. Also requires the repo
setting "Allow GitHub Actions to create and approve pull requests".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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