Skip to content

Git

This allows you to change the behavior of some Git commands.

# .goreleaser.yaml
git:
  # What should be used to sort tags when gathering the current and previous
  # tags if there are more than one tag in the same commit.
  #
  # Default: '-version:refname'.
  tag_sort: -version:creatordate

  # What should be used to specify prerelease suffix while sorting tags when gathering
  # the current and previous tags if there are more than one tag in the same commit.
  prerelease_suffix: "-"

  # Tags to be ignored by GoReleaser.
  # This means that GoReleaser will not pick up tags that match any of the
  # provided values as either previous or current tags.
  #
  # Templates: allowed.
  ignore_tags:
    - nightly
    - "{{.Env.IGNORE_TAG}}"

  # Tags that begin with these prefixes will be ignored.
  #
  # This feature is only available in GoReleaser Pro.
  # Templates: allowed.
  ignore_tag_prefixes:
    - foo/
    - "{{.Env.IGNORE_TAG_PREFIX}}/bar"

Semver sorting

GoReleaser Pro

This feature is exclusively available with GoReleaser Pro.

This allows you to sort tags by semver:

# .goreleaser.yml
git:
  tag_sort: semver

It'll parse all tags, ignoring non-semver-compatible tags, and sort from newest to oldest, so the latest tag is returned.

This has the effect of sorting non-pre-release tags before pre-release ones, which is different from what other git sorting options might give you.