diff --git a/.goreleaser.yml b/.goreleaser.yml index dc3e8fd..1af480f 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,47 +1,61 @@ -project_name: terraform-provider-fortiappseccloud - +# Visit https://goreleaser.com for documentation on how to customize this +# behavior. +version: 2 +before: + hooks: + # this is just an example and not a requirement for provider building/publishing + - go mod tidy builds: - - id: terraform-provider-fortiappseccloud - main: main.go - goos: - - linux - - darwin - - windows - goarch: - - amd64 - - arm64 - env: - - CGO_ENABLED=0 - ldflags: - - "-s -w" - artifacts: - - name: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" - +- env: + # goreleaser does not work with CGO, it could also complicate + # usage by users in CI/CD systems like HCP Terraform 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 }}" - files: - - LICENSE - - README.md - - terraform-registry-manifest.json - +- format: zip + name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}' checksum: - name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS" extra_files: - - glob: "terraform-registry-manifest.json" - + - glob: 'terraform-registry-manifest.json' + name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json' + name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS' + algorithm: sha256 signs: - artifacts: checksum - args: ["--detach-sign"] - + 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: - github: - owner: fortinet - name: terraform-provider-fortiappseccloud - draft: false - -snapshot: - name_template: "{{ .Tag }}-next" - + 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: - sort: asc + disable: true \ No newline at end of file