Skip to content

ci: Cut releases with release-please and lint PR titles - #6734

Draft
mangas wants to merge 1 commit into
masterfrom
mangas/release-please
Draft

mangas wants to merge 1 commit into
masterfrom
mangas/release-please

Conversation

@mangas

@mangas mangas commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Adds release-please to cut releases from Conventional Commits, and a check that PR titles follow that format.

  • .github/workflows/release.yml: on every push to master, release-please opens or updates a release PR. Merging that PR bumps the version in Cargo.toml and Cargo.lock, updates CHANGELOG.md, tags vX.Y.Z and creates the GitHub release.
    • It runs as a GitHub App, using secrets RELEASE_APP_CLIENT_ID and RELEASE_APP_PRIVATE_KEY, because PRs opened with GITHUB_TOKEN don't trigger CI.
  • release-please-config.json and .release-please-manifest.json start from the v0.45.0 release commit (8e3debd67, v0.45.0 release #6703) at version 0.45.0.
    • bump-minor-pre-major is set, so below 1.0 feat and breaking changes bump the minor version, and fix and perf bump the patch.
  • .github/workflows/semantic-pr.yml checks PR titles against the Conventional Commits types.
  • CONTRIBUTING.md and CLAUDE.md move the commit format from crate: desc to type(crate): desc.

Decisions for maintainers before this leaves draft:

  1. Merge method. release-please reads every commit on master. With rebase-merge, every commit in a PR must be conventional. With squash-merge, only the PR title must be, and that's what the title check enforces.
  2. Changelog file. The changelog goes to a new CHANGELOG.md; NEWS.md stays hand-written. The alternative is to point changelog-path at NEWS.md.
  3. Release binaries. Attaching binaries to the release is not part of this PR.
  4. GitHub App. The App and its two secrets need creating.

This branch has not been deployed

No deployments
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