mirror of
https://github.com/goreleaser/goreleaser.git
synced 2024-12-31 01:53:50 +02:00
505888f41b
* feat: keyless signing Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: perms Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: rm old pubkey Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: missing experimental flag Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: true keyless Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: improve install Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: simplifying Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: improvements Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: improvements Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * docs: trying to improve docs Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: config Signed-off-by: Carlos A Becker <caarlos0@gmail.com> * fix: package write Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
276 lines
7.2 KiB
YAML
276 lines
7.2 KiB
YAML
env:
|
|
- GO111MODULE=on
|
|
|
|
before:
|
|
hooks:
|
|
- go mod tidy
|
|
- ./scripts/completions.sh
|
|
|
|
snapshot:
|
|
name_template: '{{ incpatch .Version }}-next'
|
|
|
|
gomod:
|
|
proxy: true
|
|
|
|
builds:
|
|
- env:
|
|
- CGO_ENABLED=0
|
|
goos:
|
|
- linux
|
|
- darwin
|
|
- windows
|
|
goarch:
|
|
- "386"
|
|
- amd64
|
|
- arm
|
|
- arm64
|
|
goarm:
|
|
- "6"
|
|
- "7"
|
|
mod_timestamp: '{{ .CommitTimestamp }}'
|
|
flags:
|
|
- -trimpath
|
|
ldflags:
|
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser
|
|
|
|
universal_binaries:
|
|
- replace: false
|
|
|
|
checksum:
|
|
name_template: 'checksums.txt'
|
|
|
|
changelog:
|
|
sort: asc
|
|
use: github
|
|
filters:
|
|
exclude:
|
|
- '^docs:'
|
|
- '^test:'
|
|
- '^chore'
|
|
- Merge pull request
|
|
- Merge remote-tracking branch
|
|
- Merge branch
|
|
- go mod tidy
|
|
groups:
|
|
- title: 'New Features'
|
|
regexp: "^.*feat[(\\w)]*:+.*$"
|
|
order: 0
|
|
- title: 'Bug fixes'
|
|
regexp: "^.*fix[(\\w)]*:+.*$"
|
|
order: 10
|
|
- title: Other work
|
|
order: 999
|
|
|
|
dockers:
|
|
- image_templates:
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
dockerfile: Dockerfile
|
|
use: buildx
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.name={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/amd64"
|
|
extra_files:
|
|
- scripts/entrypoint.sh
|
|
- image_templates:
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
dockerfile: Dockerfile
|
|
use: buildx
|
|
build_flag_templates:
|
|
- "--pull"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.name={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
- "--label=org.opencontainers.image.source={{.GitURL}}"
|
|
- "--platform=linux/arm64"
|
|
goarch: arm64
|
|
extra_files:
|
|
- scripts/entrypoint.sh
|
|
|
|
docker_manifests:
|
|
- name_template: 'goreleaser/goreleaser:{{ .Tag }}'
|
|
image_templates:
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
- name_template: 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}'
|
|
image_templates:
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
- name_template: 'goreleaser/goreleaser:latest'
|
|
image_templates:
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
- name_template: 'ghcr.io/goreleaser/goreleaser:latest'
|
|
image_templates:
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
|
|
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
|
|
|
|
archives:
|
|
- name_template: '{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
|
replacements:
|
|
darwin: Darwin
|
|
linux: Linux
|
|
windows: Windows
|
|
386: i386
|
|
amd64: x86_64
|
|
format_overrides:
|
|
- goos: windows
|
|
format: zip
|
|
files:
|
|
- README.md
|
|
- LICENSE.md
|
|
- completions/*
|
|
|
|
brews:
|
|
- tap:
|
|
owner: goreleaser
|
|
name: homebrew-tap
|
|
folder: Formula
|
|
homepage: https://goreleaser.com
|
|
description: Deliver Go binaries as fast and easily as possible
|
|
license: MIT
|
|
test: |
|
|
system "#{bin}/goreleaser -v"
|
|
dependencies:
|
|
- name: go
|
|
type: optional
|
|
- name: git
|
|
conflicts:
|
|
- goreleaser-pro
|
|
install: |-
|
|
bin.install "goreleaser"
|
|
bash_completion.install "completions/goreleaser.bash" => "goreleaser"
|
|
zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser"
|
|
fish_completion.install "completions/goreleaser.fish"
|
|
|
|
rigs:
|
|
- rig:
|
|
owner: goreleaser
|
|
name: fish-food
|
|
homepage: https://goreleaser.com
|
|
description: Deliver Go binaries as fast and easily as possible
|
|
license: MIT
|
|
|
|
scoop:
|
|
bucket:
|
|
owner: goreleaser
|
|
name: scoop-bucket
|
|
homepage: https://goreleaser.com
|
|
description: Deliver Go binaries as fast and easily as possible
|
|
license: MIT
|
|
|
|
nfpms:
|
|
- file_name_template: '{{ .ConventionalFileName }}'
|
|
id: packages
|
|
homepage: https://goreleaser.com
|
|
description: Deliver Go binaries as fast and easily as possible
|
|
maintainer: Carlos Alexandro Becker <root@carlosbecker.com>
|
|
license: MIT
|
|
vendor: GoReleaser
|
|
contents:
|
|
- src: ./completions/goreleaser.bash
|
|
dst: /etc/bash_completion.d/goreleaser
|
|
- src: ./completions/goreleaser.fish
|
|
dst: /usr/share/fish/completions/goreleaser.fish
|
|
- src: ./completions/goreleaser.zsh
|
|
dst: /usr/local/share/zsh/site-functions/_goreleaser
|
|
formats:
|
|
- apk
|
|
- deb
|
|
- rpm
|
|
dependencies:
|
|
- git
|
|
recommends:
|
|
- golang
|
|
|
|
snapcrafts:
|
|
- name_template: '{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}'
|
|
summary: Deliver Go binaries as fast and easily as possible
|
|
description: |
|
|
GoReleaser builds Go binaries for several platforms, creates a GitHub
|
|
release and then pushes a Homebrew formula to a repository. All that
|
|
wrapped in your favorite CI.
|
|
grade: stable
|
|
confinement: classic
|
|
publish: true
|
|
|
|
sboms:
|
|
- artifacts: archive
|
|
|
|
signs:
|
|
- cmd: cosign
|
|
env:
|
|
- COSIGN_EXPERIMENTAL=1
|
|
certificate: '${artifact}.pem'
|
|
output: true
|
|
args:
|
|
- sign-blob
|
|
- '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}'
|
|
- '--output-certificate=${certificate}'
|
|
- '--output-signature=${signature}'
|
|
- '${artifact}'
|
|
- id: sign-sboms
|
|
cmd: cosign
|
|
env:
|
|
- COSIGN_EXPERIMENTAL=1
|
|
certificate: '${artifact}.pem'
|
|
output: true
|
|
args:
|
|
- sign-blob
|
|
- '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}'
|
|
- '--output-certificate=${certificate}'
|
|
- '--output-signature=${signature}'
|
|
- '${artifact}'
|
|
artifacts: sbom
|
|
|
|
docker_signs:
|
|
- cmd: cosign
|
|
env:
|
|
- COSIGN_EXPERIMENTAL=1
|
|
artifacts: manifests
|
|
output: true
|
|
args:
|
|
- 'sign'
|
|
- '--oidc-issuer={{if index .Env "CI"}}https://token.actions.githubusercontent.com{{else}}https://oauth2.sigstore.dev/auth{{end}}'
|
|
- '${artifact}'
|
|
|
|
publishers:
|
|
- name: fury.io
|
|
ids:
|
|
- packages
|
|
env:
|
|
- 'FURY_TOKEN={{ .Env.FURY_TOKEN }}'
|
|
cmd: ./scripts/fury-upload.sh {{ .ArtifactName }}
|
|
|
|
milestones:
|
|
- close: true
|
|
|
|
release:
|
|
footer: |
|
|
**Full Changelog**: https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ .Tag }}
|
|
|
|
## What to do next?
|
|
|
|
- Read the [documentation](https://goreleaser.com/intro/)
|
|
- Check out the [GoReleaser Pro](https://goreleaser.com/pro) distribution
|
|
- Join our [Discord server](https://discord.gg/RGEBtg8vQ6)
|
|
- Follow us on [Twitter](https://twitter.com/goreleaser)
|
|
|
|
announce:
|
|
skip: "{{gt .Patch 0}}"
|
|
|
|
twitter:
|
|
enabled: true
|
|
message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'
|
|
|
|
discord:
|
|
enabled: true
|
|
message_template: 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'
|