Skip to content

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 release --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