opentofu/.goreleaser.yaml
2023-09-19 14:39:12 +03:00

205 lines
7.3 KiB
YAML

project_name: opentf
before:
hooks:
- go mod tidy
- go generate ./...
- make protobuf
builds:
- env:
- CGO_ENABLED=0
flags:
- "-mod=readonly"
- "-trimpath"
ldflags:
- "-s -w"
- "-X 'github.com/placeholderplaceholderplaceholder/opentf/version.dev=no'"
goos:
- linux
- windows
- darwin
- freebsd
- openbsd
- solaris
goarch:
- "386"
- amd64
- arm
- arm64
ignore:
- goos: freebsd
goarch: arm64
- goos: openbsd
goarch: arm
- goos: openbsd
goarch: arm64
- goos: solaris
goarch: "386"
- goos: solaris
goarch: arm
- goos: solaris
goarch: arm64
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
- goos: darwin
goarch: "386"
- goos: darwin
goarch: arm
archives:
- format: zip
name_template: "{{ .ProjectName }}_{{ .Version }}_{{- .Os }}_{{- .Arch }}"
dockers:
- use: buildx
goarch: amd64
build_flag_templates:
- "--pull"
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
- "--label=org.opencontainers.image.vendor=OpenTF"
- "--label=org.opencontainers.image.description=OpenTF {{ .Version }}"
- "--label=org.opencontainers.image.url=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.documentation=https://github.com/opentffoundation/opentf/blob/main/README.md"
- "--label=org.opencontainers.image.source=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.licenses=MPL-2.0"
- "--label=org.opencontainers.image.version={{ .Version }}"
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
- "--label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}"
image_templates:
- "ghcr.io/opentffoundation/opentf:{{ .Version }}-amd64"
- use: buildx
goarch: arm64
build_flag_templates:
- "--pull"
- "--platform=linux/arm64"
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
- "--label=org.opencontainers.image.vendor=OpenTF"
- "--label=org.opencontainers.image.description=OpenTF {{ .Version }}"
- "--label=org.opencontainers.image.url=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.documentation=https://github.com/opentffoundation/opentf/blob/main/README.md"
- "--label=org.opencontainers.image.source=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.licenses=MPL-2.0"
- "--label=org.opencontainers.image.version={{ .Version }}"
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
- "--label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}"
image_templates:
- "ghcr.io/opentffoundation/opentf:{{ .Version }}-arm64"
- use: buildx
goarch: arm
build_flag_templates:
- "--pull"
- "--platform=linux/arm"
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
- "--label=org.opencontainers.image.vendor=OpenTF"
- "--label=org.opencontainers.image.description=OpenTF {{ .Version }}"
- "--label=org.opencontainers.image.url=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.documentation=https://github.com/opentffoundation/opentf/blob/main/README.md"
- "--label=org.opencontainers.image.source=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.licenses=MPL-2.0"
- "--label=org.opencontainers.image.version={{ .Version }}"
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
- "--label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}"
image_templates:
- "ghcr.io/opentffoundation/opentf:{{ .Version }}-arm"
- use: buildx
goarch: "386"
build_flag_templates:
- "--pull"
- "--platform=linux/386"
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
- "--label=org.opencontainers.image.vendor=OpenTF"
- "--label=org.opencontainers.image.description=OpenTF {{ .Version }}"
- "--label=org.opencontainers.image.url=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.documentation=https://github.com/opentffoundation/opentf/blob/main/README.md"
- "--label=org.opencontainers.image.source=https://github.com/opentffoundation/opentf"
- "--label=org.opencontainers.image.licenses=MPL-2.0"
- "--label=org.opencontainers.image.version={{ .Version }}"
- "--label=org.opencontainers.image.revision={{ .FullCommit }}"
- "--label=org.opencontainers.image.created={{ time \"2006-01-02T15:04:05Z07:00\" }}"
image_templates:
- "ghcr.io/opentffoundation/opentf:{{ .Version }}-386"
docker_manifests:
- name_template: ghcr.io/opentffoundation/opentf:{{ .Version }}
image_templates:
- ghcr.io/opentffoundation/opentf:{{ .Version }}-amd64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm
- ghcr.io/opentffoundation/opentf:{{ .Version }}-386
- name_template: ghcr.io/opentffoundation/opentf:{{ .Major }}.{{ .Minor }}
image_templates:
- ghcr.io/opentffoundation/opentf:{{ .Version }}-amd64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm
- ghcr.io/opentffoundation/opentf:{{ .Version }}-386
- name_template: ghcr.io/opentffoundation/opentf:{{ .Major }}
image_templates:
- ghcr.io/opentffoundation/opentf:{{ .Version }}-amd64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm
- ghcr.io/opentffoundation/opentf:{{ .Version }}-386
- name_template: ghcr.io/opentffoundation/opentf:latest
image_templates:
- ghcr.io/opentffoundation/opentf:{{ .Version }}-amd64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm64
- ghcr.io/opentffoundation/opentf:{{ .Version }}-arm
- ghcr.io/opentffoundation/opentf:{{ .Version }}-386
nfpms:
- file_name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Arch }}'
maintainer: 'https://github.com/orgs/opentffoundation/teams/opentf-core-team'
homepage: https://opentf.org
description: >-
OpenTF lets you declaratively manage your cloud infrastructure.
license: "MPL-2.0"
formats:
- deb
- rpm
- apk
bindir: /usr/bin
section: default
contents:
- src: ./LICENSE
dst: /usr/share/doc/nfpm/copyright
file_info:
mode: 0444
checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS"
signs:
- artifacts: checksum
cmd: cosign
certificate: "${artifact}.pem"
args: ["sign-blob", "--oidc-issuer=https://token.actions.githubusercontent.com", "--output-certificate=${certificate}", "--output-signature=${signature}", "${artifact}", "--yes"]
docker_signs:
- artifacts: all
args: ["sign", "--oidc-issuer=https://token.actions.githubusercontent.com", "${artifact}@${digest}", "--yes"]
snapshot:
name_template: "{{ .Version }}-next"
changelog:
use: github-native
release:
prerelease: auto
# If you want to examine the release before its live, uncomment this line:
# draft: false