# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
#
# See https://goreleaser.com/customization/ for more information.
version: 2
project_name: goose

before:
  hooks:
    - go mod tidy
builds:
  - env:
      - CGO_ENABLED=0
    binary: goose
    main: ./cmd/goose
    goos:
      - linux
      - windows
      - darwin
    goarch:
      - amd64
      - arm64
    ldflags:
      # The v prefix is stripped by goreleaser, so we need to add it back.
      # https://goreleaser.com/customization/templates/#fnref:version-prefix
      - "-s -w -X main.version=v{{ .Version }}"

archives:
  - formats:
      - binary
    name_template: >-
      {{ .ProjectName }}_{{- tolower .Os }}_{{- if eq .Arch "amd64" }}x86_64{{- else }}{{ .Arch }}{{ end }}
checksum:
  name_template: "checksums.txt"
snapshot:
  version_template: "{{ incpatch .Version }}-next"
changelog:
  use: github-native
