add goreleaser
This commit is contained in:
2 .gitignore vendored Normal file
2
.gitignore vendored Normal file @@ -0,0 +1,2 @@ | ||||
| ||||
dist/ | ||||
60 .goreleaser.yaml Normal file
60
.goreleaser.yaml Normal file @@ -0,0 +1,60 @@ | ||||
# Visit https://goreleaser.com for documentation on how to customize this | ||||
# behavior. | ||||
before: | ||||
hooks: | ||||
# this is just an example and not a requirement for provider building/publishing | ||||
- go mod tidy | ||||
builds: | ||||
- env: | ||||
# goreleaser does not work with CGO, it could also complicate | ||||
# usage by users in CI/CD systems like Terraform Cloud where | ||||
# they are unable to install libraries. | ||||
- CGO_ENABLED=0 | ||||
mod_timestamp: '{{ .CommitTimestamp }}' | ||||
flags: | ||||
- -trimpath | ||||
ldflags: | ||||
- '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}' | ||||
goos: | ||||
- freebsd | ||||
- windows | ||||
- linux | ||||
- darwin | ||||
goarch: | ||||
- amd64 | ||||
- '386' | ||||
- arm | ||||
- arm64 | ||||
ignore: | ||||
- goos: darwin | ||||
goarch: '386' | ||||
binary: '{{ .ProjectName }}_v{{ .Version }}' | ||||
archives: | ||||
- format: zip | ||||
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}' | ||||
checksum: | ||||
extra_files: | ||||
- glob: 'terraform-registry-manifest.json' | ||||
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json' | ||||
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS' | ||||
algorithm: sha256 | ||||
signs: | ||||
- artifacts: checksum | ||||
args: | ||||
# if you are using this 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 }}" # set this environment variable for your signing key | ||||
- "--output" | ||||
- "${signature}" | ||||
- "--detach-sign" | ||||
- "${artifact}" | ||||
release: | ||||
extra_files: | ||||
- glob: 'terraform-registry-manifest.json' | ||||
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json' | ||||
# If you want to manually examine the release before its live, uncomment this line: | ||||
# draft: true | ||||
changelog: | ||||
skip: true | ||||
Reference in New Issue
Block a user