Commit Message Conventions
Introduction
ClusterCockpit uses goreleaser for building and uploading releases. Release notes are generated automatically from commit messages using the prefix tags described below. GitHub also parses special keywords to link commits and PRs to issues.
Before opening a pull request, use interactive rebase to clean up your branch history and ensure the final commit messages follow these conventions.
Release Note Prefixes
Commits carrying one of the following prefixes appear in the generated release notes:
| Prefix | Appears under |
|---|---|
feat: | New features |
fix: | Bug fixes |
sec: | Security fixes (ClusterCockpit-specific) |
doc: | Documentation updates |
feat dep: or fix dep: | Dependency additions or changes |
Commits without a recognised prefix are not included in the release notes.
Examples:
feat: add automatic job tagging
fix: correct WAL rotation on partial flush (#423)
sec: enforce API token expiry
doc: update rebase workflow guide
feat dep: upgrade to Go 1.22
Referencing Issues
It is good practice to create a GitHub issue for any notable change so that
the motivation and discussion are preserved. Reference an issue in any commit
message or PR description using the #<number> syntax:
This change contributes to #235
Automatically Closing Issues
GitHub closes an issue automatically when a PR containing one of the following keywords merges into the default branch:
close,closes,closedfix,fixes,fixedresolve,resolves,resolved
The issue is not closed until the commit appears on main. Example:
fix: correct WAL rotation on partial flush
Fixes #423
Place the closing keyword in the PR description rather than a WIP commit message, since commit messages are often rewritten with interactive rebase before the PR is merged.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.