Skip to content

Releasing

Ben Lavery-Griffiths edited this page Jun 18, 2023 · 1 revision

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.

Clone this wiki locally