Releasing
Releasing happens whenever there is a commit pushed to the main branch (i.e. whenever a PR is merged to main).
Versioning
goreleaser will rely on the Git tag to decide what version to publish. The tag/version is automatically resolved based on the PR title (which uses the Conventional Commits specification).
PR Titles
When you raise a PR, the title should be formatted type(scope): Subject, for example: feat(#8): Create releaser
The valid types are:
| Type |
Description |
Version Change |
| feat |
Features |
Minor |
| fix |
Bug Fixes |
Patch |
| perf |
Performance Improvements |
Patch |
| revert |
Reverts |
Patch |
| docs |
Documentation |
Patch |
| style |
Styles |
Patch |
| refactor |
Code Refactoring |
Patch |
| test |
Tests |
Patch |
| build |
Build Systems |
Patch |
| ci |
Continuous Integration |
Patch |
The caveat to the version change in the above table is if the footer for the PR has the pattern: BREAKING CHANGE: <message>, for example BREAKING CHANGE: Removes ability to log to file. In this case, the Major version will be bumped, and the Minor and Patch versions will be reset to zero.