Release Process¶
Releases are automated with release-please and GitHub Actions.
How Releases Work¶
- release-please runs on pushes to
main(workflow:.github/workflows/release-please.yml) and opens/updates a release PR based on Conventional Commits. - The release PR updates:
docs/changelog.mdpyproject.toml(version bump).release-please-manifest.json(current released version)- Merging the release PR creates a Git tag (format
vX.Y.Z) and GitHub Release. - Docker images are built, signed, and published when
release_createdis true:release-please.ymlcallsdocker-build.ymlviaworkflow_call, which also fires independently on pushes tomainand onv*tag pushes. Images go toghcr.io/<owner>/<repo>with semver, branch, and PR tags.
Manual Trigger¶
You can also run the Release Please workflow manually from GitHub Actions (workflow_dispatch) to open or refresh the release PR.
Notes¶
- The changelog used by release-please lives at
docs/changelog.md. - Configuration lives in
release-please-config.json; the manifest with the current version is.release-please-manifest.json. - Tags use
include-v-in-tag: true(e.g.v0.29.0). - Conventional Commit types
feat,fix,perf,refactor,deps, anddocsproduce visible changelog sections;chore,ci, andtestare hidden. - Avoid manual version edits; use the release-please flow to keep tags and changelog consistent.