79 lines
2.3 KiB
YAML
79 lines
2.3 KiB
YAML
|
|
# 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
|