# This is an example goreleaser.yaml file with some sane defaults. # Make sure to check the documentation at http://goreleaser.com env: - CGO_ENABLED=0 before: hooks: # We strongly recommend running tests to catch any regression before release. # Even though, this an optional step. # - go test ./... builds: # A separated build to run the packer-plugins-check only once for a linux_amd64 binary - id: plugin-check mod_timestamp: '{{ .CommitTimestamp }}' hooks: post: # This will check plugin compatibility against latest version of Packer - cmd: | go install github.com/hashicorp/packer/cmd/packer-plugins-check@latest && packer-plugins-check -load={{ .Name }} dir: "{{ dir .Path}}" flags: - -trimpath #removes all file system paths from the compiled executable ldflags: - '-s -w -X main.Version={{.Version}} -X main.VersionPrerelease= ' goos: - linux goarch: - amd64 binary: '{{ .ProjectName }}_v{{ .Version }}_{{ .Env.API_VERSION }}_{{ .Os }}_{{ .Arch }}' - mod_timestamp: '{{ .CommitTimestamp }}' flags: - -trimpath #removes all file system paths from the compiled executable ldflags: - '-s -w -X main.version={{.Version}} -X main.VersionPrerelease= ' goos: - freebsd - windows - linux - darwin goarch: - amd64 - '386' - arm - arm64 ignore: - goos: darwin goarch: '386' - goos: linux goarch: amd64 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: - artifacts: checksum args: # if you are using this is in a GitHub action or some other automated pipeline, you # need to pass the batch flag to indicate its not interactive. - "--batch" - "--local-user" - "{{ .Env.GPG_FINGERPRINT }}" - "--output" - "${signature}" - "--detach-sign" - "${artifact}" release: # If you want to manually examine the release before its live, uncomment this line: draft: true changelog: skip: true