Semantic Release¶
GoReleaser does not create any tags, it just runs on what is already there.
You can, though, leverage other tools to do the work for you, like for example svu or semantic-release.
Example: svu¶
git tag "$(svu next)"
git push --tags
goreleaser --clean
Example: semantic-release¶
.releaserc.yml
preset: angular
plugins:
- "@semantic-release/commit-analyzer"
- "@semantic-release/release-notes-generator"
- "@semantic-release/changelog"
- "@semantic-release/git"
- - "@semantic-release/exec"
- publishCmd: |
echo "${nextRelease.notes}" > /tmp/release-notes.md
goreleaser release --release-notes /tmp/release-notes.md --clean
npx -p @semantic-release/changelog -p @semantic-release/exec -p @semantic-release/git semantic-release