mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-25 08:21:07 -06:00
224 lines
7.7 KiB
YAML
224 lines
7.7 KiB
YAML
project_name: tofu
|
|
|
|
before:
|
|
hooks:
|
|
- go mod tidy
|
|
- go generate ./...
|
|
- make protobuf
|
|
|
|
builds:
|
|
- env:
|
|
- CGO_ENABLED=0
|
|
|
|
main: ./cmd/tofu
|
|
|
|
flags:
|
|
- "-mod=readonly"
|
|
- "-trimpath"
|
|
|
|
ldflags:
|
|
- "-s -w"
|
|
- "-X 'github.com/opentofu/opentofu/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=OpenTofu"
|
|
- "--label=org.opencontainers.image.description=OpenTofu {{ .Version }}"
|
|
- "--label=org.opencontainers.image.url=https://github.com/opentofu/opentofu"
|
|
- "--label=org.opencontainers.image.documentation=https://github.com/opentofu/opentofu/blob/main/README.md"
|
|
- "--label=org.opencontainers.image.source=https://github.com/opentofu/opentofu"
|
|
- "--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/opentofu/opentofu:{{ .Version }}-amd64"
|
|
|
|
- use: buildx
|
|
goarch: arm64
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
|
|
- "--label=org.opencontainers.image.vendor=OpenTofu"
|
|
- "--label=org.opencontainers.image.description=OpenTofu {{ .Version }}"
|
|
- "--label=org.opencontainers.image.url=https://github.com/opentofu/opentofu"
|
|
- "--label=org.opencontainers.image.documentation=https://github.com/opentofu/opentofu/blob/main/README.md"
|
|
- "--label=org.opencontainers.image.source=https://github.com/opentofu/opentofu"
|
|
- "--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/opentofu/opentofu:{{ .Version }}-arm64"
|
|
|
|
- use: buildx
|
|
goarch: arm
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--platform=linux/arm"
|
|
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
|
|
- "--label=org.opencontainers.image.vendor=OpenTofu"
|
|
- "--label=org.opencontainers.image.description=OpenTofu {{ .Version }}"
|
|
- "--label=org.opencontainers.image.url=https://github.com/opentofu/opentofu"
|
|
- "--label=org.opencontainers.image.documentation=https://github.com/opentofu/opentofu/blob/main/README.md"
|
|
- "--label=org.opencontainers.image.source=https://github.com/opentofu/opentofu"
|
|
- "--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/opentofu/opentofu:{{ .Version }}-arm"
|
|
|
|
- use: buildx
|
|
goarch: "386"
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--platform=linux/386"
|
|
- "--label=org.opencontainers.image.title={{ .ProjectName }}"
|
|
- "--label=org.opencontainers.image.vendor=OpenTofu"
|
|
- "--label=org.opencontainers.image.description=OpenTofu {{ .Version }}"
|
|
- "--label=org.opencontainers.image.url=https://github.com/opentofu/opentofu"
|
|
- "--label=org.opencontainers.image.documentation=https://github.com/opentofu/opentofu/blob/main/README.md"
|
|
- "--label=org.opencontainers.image.source=https://github.com/opentofu/opentofu"
|
|
- "--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/opentofu/opentofu:{{ .Version }}-386"
|
|
|
|
docker_manifests:
|
|
- name_template: ghcr.io/opentofu/opentofu:{{ .Version }}
|
|
image_templates:
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-amd64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-386
|
|
|
|
- name_template: ghcr.io/opentofu/opentofu:{{ .Major }}.{{ .Minor }}
|
|
image_templates:
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-amd64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-386
|
|
|
|
- name_template: ghcr.io/opentofu/opentofu:{{ .Major }}
|
|
image_templates:
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-amd64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-386
|
|
|
|
- name_template: ghcr.io/opentofu/opentofu:latest
|
|
image_templates:
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-amd64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm64
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-arm
|
|
- ghcr.io/opentofu/opentofu:{{ .Version }}-386
|
|
|
|
nfpms:
|
|
- file_name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Arch }}'
|
|
maintainer: 'https://github.com/orgs/opentofu/teams/opentofu-core-team'
|
|
homepage: https://opentofu.org
|
|
description: >-
|
|
OpenTofu 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/opentofu/copyright
|
|
file_info:
|
|
mode: 0444
|
|
|
|
snapcrafts:
|
|
- name: opentofu
|
|
publish: true
|
|
summary: OpenTofu lets you declaratively manage your cloud infrastructure.
|
|
description: |
|
|
OpenTofu is an OSS tool for building, changing, and versioning infrastructure
|
|
safely and efficiently. OpenTofu can manage existing and popular service
|
|
providers as well as custom in-house solutions.
|
|
base: core22
|
|
grade: stable
|
|
confinement: classic
|
|
license: MPL-2.0
|
|
apps:
|
|
tofu:
|
|
command: tofu
|
|
aliases: [tofu]
|
|
|
|
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
|