version: 2
report_sizes: false

builds:
  - goos:
      - freebsd
      - windows
      - linux
      - darwin
    goarch:
      - amd64
      - '386'
      - arm
      - arm64
    ignore:
      - goos: darwin
        goarch: '386'
      - goos: linux
        goarch: amd64
    mod_timestamp: "{{ .CommitTimestamp }}"
    flags:
      - -trimpath
    ldflags:
      - '-s -w -X main.version={{.Version}} -X main.VersionPrerelease= '
    no_unique_dist_dir: true
    binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'

  # A separated build to run the packer-plugins-check only once for a linux_amd64 binary
  - id: plugin-check
    mod_timestamp: '{{ .CommitTimestamp }}'
    goos:
      - linux
    goarch:
      - amd64
    hooks:
      post:
        # This will check plugin compatibility against latest version of Packer
        - cmd: |
            go install github.com/hashicorp/packer/cmd/packer-plugins-check@v1.7.10 &&
            packer-plugins-check -load={{ .Name }}
          dir: "{{ dir .Path}}"
    binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'

archives:
  - format: zip
    name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}'

checksum:
  name_template: '{{ .ProjectName }}_v{{ .Version }}_SHA256SUMS'
  algorithm: sha256

# signs:
#   - id: sha256
#     artifacts: checksum

# sboms:
#   - artifacts: binary

snapshot:
  name_template: "{{ incpatch .Version }}-rc"

release:
  draft: false

changelog:
  sort: asc
  use: github
  filters:
    exclude:
      - "^test:"
      - "^test\\("
      - "merge conflict"
      - Merge pull request
      - Merge remote-tracking branch
      - Merge branch
      - go mod tidy
