2023-06-14 06:01:11 +02:00
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=jcroql
2023-10-31 14:28:54 +02:00
version : 1
2019-03-03 19:12:22 +02:00
env :
- GO111MODULE=on
2021-08-25 03:24:46 +02:00
2018-10-29 02:54:15 +02:00
before :
hooks :
2021-03-03 02:29:31 +02:00
- go mod tidy
2020-11-05 04:12:49 +02:00
- ./scripts/completions.sh
2022-01-18 15:17:52 +02:00
- ./scripts/manpages.sh
2021-08-25 03:24:46 +02:00
2021-07-24 15:13:05 +02:00
snapshot :
2023-06-07 04:57:51 +02:00
name_template : "{{ incpatch .Version }}-next"
2021-08-25 03:24:46 +02:00
2021-03-31 02:06:25 +02:00
gomod :
proxy : true
2021-08-25 03:24:46 +02:00
2023-04-24 01:27:16 +02:00
report_sizes : true
2023-08-27 20:57:03 +02:00
git :
ignore_tags :
2023-09-18 14:59:02 +02:00
- "{{ if not .IsNightly }}nightly{{ end }}"
2023-08-27 20:57:03 +02:00
2023-07-15 21:53:52 +02:00
metadata :
mod_timestamp : "{{ .CommitTimestamp }}"
2017-06-28 00:20:08 +02:00
builds :
2023-06-07 04:57:51 +02:00
- env :
- CGO_ENABLED=0
goos :
- linux
- darwin
- windows
goarch :
- "386"
- amd64
- arm
- arm64
- ppc64
goarm :
- "7"
ignore :
- goos : windows
goarch : arm
mod_timestamp : "{{ .CommitTimestamp }}"
flags :
- -trimpath
ldflags :
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser -X main.treeState={{ .IsGitDirty }}
2021-08-25 03:24:46 +02:00
2021-10-12 19:55:43 +02:00
universal_binaries :
2023-06-07 04:57:51 +02:00
- replace : false
2021-10-12 19:55:43 +02:00
2024-04-20 03:27:50 +02:00
notarize :
macos :
- enabled : '{{ isEnvSet "MACOS_SIGN_P12" }}'
sign :
certificate : "{{.Env.MACOS_SIGN_P12}}"
password : "{{.Env.MACOS_SIGN_PASSWORD}}"
notarize :
issuer_id : "{{.Env.MACOS_NOTARY_ISSUER_ID}}"
key_id : "{{.Env.MACOS_NOTARY_KEY_ID}}"
key : "{{.Env.MACOS_NOTARY_KEY}}"
2023-05-05 06:26:12 +02:00
# temporarely disables until we add better filters for platforms et al, and test more.
# upx:
# - enabled: true
2023-05-02 02:22:05 +02:00
2017-08-28 01:45:33 +02:00
checksum :
2023-06-07 04:57:51 +02:00
name_template : "checksums.txt"
2021-08-25 03:24:46 +02:00
2020-12-30 22:37:12 +02:00
changelog :
2017-10-20 19:54:43 +02:00
sort : asc
2021-10-04 14:32:30 +02:00
use : github
2017-10-18 13:43:18 +02:00
filters :
exclude :
2023-06-07 04:57:51 +02:00
- "^test:"
2024-04-01 19:07:22 +02:00
- "^test\\("
2023-06-07 04:57:51 +02:00
- "^chore"
- "merge conflict"
- Merge pull request
- Merge remote-tracking branch
- Merge branch
- go mod tidy
2021-11-24 03:29:47 +02:00
groups :
2022-06-27 03:00:23 +02:00
- title : Dependency updates
2024-01-30 01:48:33 +02:00
regexp : '^.*?(feat|fix|chore)\(deps\)!?:.+$'
2022-06-27 03:00:23 +02:00
order : 300
2023-06-07 04:57:51 +02:00
- title : "New Features"
2024-03-03 17:15:58 +02:00
regexp : '^.*?feat(\(.+\))??!?:.+$'
2022-06-27 03:00:23 +02:00
order : 100
2023-06-07 04:57:51 +02:00
- title : "Security updates"
2024-03-03 17:15:58 +02:00
regexp : '^.*?sec(\(.+\))??!?:.+$'
2023-03-10 15:27:51 +02:00
order : 150
2023-06-07 04:57:51 +02:00
- title : "Bug fixes"
2024-03-03 17:15:58 +02:00
regexp : '^.*?(fix|refactor)(\(.+\))??!?:.+$'
2022-06-27 03:00:23 +02:00
order : 200
2023-06-07 04:57:51 +02:00
- title : "Documentation updates"
2024-03-03 17:15:58 +02:00
regexp : ^.*?docs?(\(.+\))??!?:.+$
2022-06-27 03:00:23 +02:00
order : 400
2023-06-07 04:57:51 +02:00
- title : "Build process updates"
2024-03-03 17:15:58 +02:00
regexp : ^.*?(build|ci)(\(.+\))??!?:.+$
2023-02-03 02:07:38 +02:00
order : 400
2021-11-24 03:29:47 +02:00
- title : Other work
2022-06-27 03:00:23 +02:00
order : 9999
2018-05-13 21:13:48 +02:00
dockers :
2023-06-07 04:57:51 +02:00
- image_templates :
2023-08-03 04:17:03 +02:00
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
2023-06-07 04:57:51 +02:00
dockerfile : Dockerfile
use : buildx
build_flag_templates :
- "--pull"
- "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md"
- "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png"
- '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]'
- "--label=io.artifacthub.package.license=MIT"
- "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible"
- "--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 :
2023-08-03 04:17:03 +02:00
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
2023-06-07 04:57:51 +02:00
dockerfile : Dockerfile
use : buildx
build_flag_templates :
- "--pull"
- "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md"
- "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png"
- '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]'
- "--label=io.artifacthub.package.license=MIT"
- "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible"
- "--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
2021-08-25 03:24:46 +02:00
2020-11-28 21:26:37 +02:00
docker_manifests :
2023-08-03 04:17:03 +02:00
- name_template : "goreleaser/goreleaser:v{{ .Version }}"
2023-06-07 04:57:51 +02:00
image_templates :
2023-08-03 04:17:03 +02:00
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template : "ghcr.io/goreleaser/goreleaser:v{{ .Version }}"
2023-06-07 04:57:51 +02:00
image_templates :
2023-08-03 04:17:03 +02:00
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template : "{{ if not .IsNightly }}goreleaser/goreleaser:latest{{ end }}"
2023-06-07 04:57:51 +02:00
image_templates :
2023-08-03 04:17:03 +02:00
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template : "{{ if not .IsNightly }}ghcr.io/goreleaser/goreleaser:latest{{ end }}"
2023-06-07 04:57:51 +02:00
image_templates :
2023-08-03 04:17:03 +02:00
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
2024-01-07 20:35:27 +02:00
- name_template : "{{ if .IsNightly }}goreleaser/goreleaser:nightly{{ end }}"
image_templates :
- "goreleaser/goreleaser:v{{ .Version }}-amd64"
- "goreleaser/goreleaser:v{{ .Version }}-arm64"
- name_template : "{{ if .IsNightly }}ghcr.io/goreleaser/goreleaser:nightly{{ end }}"
image_templates :
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-amd64"
- "ghcr.io/goreleaser/goreleaser:v{{ .Version }}-arm64"
2021-08-25 03:24:46 +02:00
2019-04-16 15:19:15 +02:00
archives :
2022-11-25 20:26:14 +02:00
- name_template : >-
2023-08-03 14:33:02 +02:00
{{- .ProjectName }}_
2022-11-25 20:26:14 +02:00
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
2023-08-03 14:33:02 +02:00
{{- if .Arm }}v{{ .Arm }}{{ end -}}
2019-04-16 15:19:15 +02:00
format_overrides :
2023-06-07 04:57:51 +02:00
- goos : windows
format : zip
2022-12-14 17:16:03 +02:00
builds_info :
group : root
owner : root
2020-11-05 04:12:49 +02:00
files :
- README.md
- LICENSE.md
- completions/*
2022-01-19 15:03:46 +02:00
- manpages/*
2021-08-25 03:24:46 +02:00
2019-08-13 18:48:53 +02:00
brews :
2023-06-14 06:01:11 +02:00
- repository :
2019-08-13 18:48:53 +02:00
owner : goreleaser
name : homebrew-tap
2024-04-01 15:01:56 +02:00
directory : Formula
2021-12-21 19:21:15 +02:00
goarm : "7"
2023-06-07 04:57:51 +02:00
homepage : https://goreleaser.com
2019-08-13 18:48:53 +02:00
description : Deliver Go binaries as fast and easily as possible
2020-11-26 15:06:47 +02:00
license : MIT
2019-08-13 18:48:53 +02:00
test : |
system "#{bin}/goreleaser -v"
2020-05-22 14:50:34 +02:00
dependencies :
2023-06-07 04:57:51 +02:00
- name : go
type : optional
- name : git
2021-10-27 04:04:59 +02:00
conflicts :
2023-06-07 04:57:51 +02:00
- goreleaser-pro
2023-07-30 05:03:54 +02:00
extra_install : |-
2020-11-05 04:12:49 +02:00
bash_completion.install "completions/goreleaser.bash" => "goreleaser"
zsh_completion.install "completions/goreleaser.zsh" => "_goreleaser"
fish_completion.install "completions/goreleaser.fish"
2022-01-18 15:17:52 +02:00
man1.install "manpages/goreleaser.1.gz"
2021-08-25 03:24:46 +02:00
2023-05-26 04:07:10 +02:00
nix :
- name : goreleaser
repository :
owner : goreleaser
name : nur
2023-06-07 04:57:51 +02:00
homepage : https://goreleaser.com
2023-05-26 04:07:10 +02:00
description : Deliver Go binaries as fast and easily as possible
2023-06-29 05:46:08 +02:00
path : pkgs/goreleaser/default.nix
2023-05-26 04:07:10 +02:00
license : mit
2023-07-30 04:34:15 +02:00
extra_install : |-
2023-05-26 04:07:10 +02:00
installManPage ./manpages/goreleaser.1.gz
installShellCompletion ./completions/*
2023-06-15 04:59:55 +02:00
winget :
- name : goreleaser
publisher : goreleaser
license : MIT
homepage : https://goreleaser.com
short_description : Deliver Go binaries as fast and easily as possible
repository :
owner : goreleaser
name : winget-pkgs
2023-06-29 15:27:33 +02:00
branch : "goreleaser-{{.Version}}"
2023-06-15 04:59:55 +02:00
pull_request :
enabled : true
2023-06-15 05:19:58 +02:00
draft : true
2023-06-15 04:59:55 +02:00
base :
owner : microsoft
name : winget-pkgs
branch : master
2022-01-20 19:59:39 +02:00
aurs :
2023-06-07 04:57:51 +02:00
- homepage : https://goreleaser.com
2022-01-20 19:59:39 +02:00
description : Deliver Go binaries as fast and easily as possible
maintainers :
2023-06-07 04:57:51 +02:00
- "Fernandez Ludovic <lfernandez dot dev at gmail dot com>"
- "Carlos Alexandro Becker <carlos at becker dot software>"
2022-01-20 19:59:39 +02:00
license : MIT
2023-06-07 04:57:51 +02:00
private_key : "{{ .Env.AUR_KEY }}"
git_url : "ssh://aur@aur.archlinux.org/goreleaser-bin.git"
2022-01-20 19:59:39 +02:00
package : |-
# bin
install -Dm755 "./goreleaser" "${pkgdir}/usr/bin/goreleaser"
# license
install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/goreleaser/LICENSE"
# completions
mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
mkdir -p "${pkgdir}/usr/share/zsh/site-functions/"
mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/"
install -Dm644 "./completions/goreleaser.bash" "${pkgdir}/usr/share/bash-completion/completions/goreleaser"
install -Dm644 "./completions/goreleaser.zsh" "${pkgdir}/usr/share/zsh/site-functions/_goreleaser"
install -Dm644 "./completions/goreleaser.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/goreleaser.fish"
# man pages
install -Dm644 "./manpages/goreleaser.1.gz" "${pkgdir}/usr/share/man/man1/goreleaser.1.gz"
2023-05-01 02:29:36 +02:00
scoops :
2023-06-14 06:01:11 +02:00
- repository :
2023-05-01 02:29:36 +02:00
owner : goreleaser
name : scoop-bucket
2024-04-01 15:01:56 +02:00
directory : bucket
2023-06-07 04:57:51 +02:00
homepage : https://goreleaser.com
2023-05-01 02:29:36 +02:00
description : Deliver Go binaries as fast and easily as possible
license : MIT
2021-08-25 03:24:46 +02:00
2019-05-07 11:59:53 +02:00
nfpms :
2023-06-07 04:57:51 +02:00
- file_name_template : "{{ .ConventionalFileName }}"
2021-06-21 04:26:17 +02:00
id : packages
2023-06-07 04:57:51 +02:00
homepage : https://goreleaser.com
2022-02-05 23:02:06 +02:00
description : |-
Deliver Go binaries as fast and easily as possible.
GoReleaser allows you to release easily build, package, publish and
announce to several places at one go.
maintainer : Carlos Alexandro Becker <carlos@becker.software>
2019-05-07 11:59:53 +02:00
license : MIT
vendor : GoReleaser
2022-02-05 23:02:06 +02:00
bindir : /usr/bin
section : utils
2021-01-08 23:01:47 +02:00
contents :
- src : ./completions/goreleaser.bash
2022-02-05 23:02:06 +02:00
dst : /usr/share/bash-completion/completions/goreleaser
file_info :
mode : 0644
2021-01-08 23:01:47 +02:00
- src : ./completions/goreleaser.fish
2022-09-15 06:29:47 +02:00
dst : /usr/share/fish/vendor_completions.d/goreleaser.fish
2022-02-05 23:02:06 +02:00
file_info :
mode : 0644
2021-01-08 23:01:47 +02:00
- src : ./completions/goreleaser.zsh
2023-06-07 04:57:51 +02:00
dst : /usr/share/zsh/vendor-completions/_goreleaser
2022-02-05 23:02:06 +02:00
file_info :
mode : 0644
2022-01-18 15:17:52 +02:00
- src : ./manpages/goreleaser.1.gz
dst : /usr/share/man/man1/goreleaser.1.gz
2022-02-05 23:02:06 +02:00
file_info :
mode : 0644
- src : ./LICENSE.md
dst : /usr/share/doc/goreleaser/copyright
file_info :
mode : 0644
2019-05-07 11:59:53 +02:00
formats :
2023-06-07 04:57:51 +02:00
- apk
- deb
- rpm
- archlinux
2019-05-07 11:59:53 +02:00
dependencies :
2023-06-07 04:57:51 +02:00
- git
2020-05-23 19:28:55 +02:00
recommends :
2023-06-07 04:57:51 +02:00
- golang
2022-02-09 16:40:51 +02:00
deb :
lintian_overrides :
- statically-linked-binary
- changelog-file-missing-in-native-package
2021-08-25 03:24:46 +02:00
2019-08-13 18:48:53 +02:00
snapcrafts :
2023-06-07 04:57:51 +02:00
- name_template : "{{ .ProjectName }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
2019-08-13 18:48:53 +02:00
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
2024-05-06 05:20:39 +02:00
disable : "{{ if .IsNightly }}true{{ end }}"
2021-06-21 04:26:17 +02:00
2021-12-12 05:21:51 +02:00
sboms :
- artifacts : archive
2021-08-24 16:30:39 +02:00
signs :
2023-06-07 04:57:51 +02:00
- cmd : cosign
certificate : "${artifact}.pem"
output : true
artifacts : checksum
args :
- sign-blob
- "--output-certificate=${certificate}"
- "--output-signature=${signature}"
- "${artifact}"
- --yes
2021-08-24 16:30:39 +02:00
docker_signs :
2023-06-07 04:57:51 +02:00
- cmd : cosign
artifacts : manifests
output : true
args :
- "sign"
- "${artifact}@${digest}"
- --yes
2021-08-24 16:30:39 +02:00
2021-06-21 04:26:17 +02:00
publishers :
- name : fury.io
ids :
2023-06-07 04:57:51 +02:00
- packages
2021-06-27 00:16:54 +02:00
env :
2023-06-07 04:57:51 +02:00
- "FURY_TOKEN={{ .Env.FURY_TOKEN }}"
2021-06-21 04:26:17 +02:00
cmd : ./scripts/fury-upload.sh {{ .ArtifactName }}
2023-08-09 03:43:09 +02:00
disable : "{{ if .IsNightly }}true{{ end }}"
2021-06-21 04:26:17 +02:00
2021-11-21 17:34:28 +02:00
milestones :
- close : true
2021-04-21 18:46:16 +02:00
release :
2023-08-09 15:12:18 +02:00
name_template : "v{{ .Version }}"
2021-05-31 02:53:40 +02:00
footer : |
2023-11-18 14:55:07 +02:00
**Full Changelog** : https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ if .IsNightly }}nightly{{ else }}{{ .Tag }}{{ end }}
2021-11-24 14:12:24 +02:00
2023-11-18 14:55:07 +02:00
{{ if not .IsNightly }}
2023-05-19 21:33:37 +02:00
## Helping out
2021-05-31 02:53:40 +02:00
2023-05-19 21:33:37 +02:00
This release is only possible thanks to **all** the support of some **awesome people**!
Want to be one of them?
You can [sponsor](https://goreleaser.com/sponsors/), get a [Pro License](https://goreleaser.com/pro) or [contribute with code](https://goreleaser.com/contributing).
## Where to go next?
2022-10-23 20:19:31 +02:00
2023-05-19 21:33:37 +02:00
* Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/).
* Reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)!
<a href="https://goreleaser.com"><img src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png" with="100%" alt="GoReleaser logo"></a>
2023-11-18 14:55:07 +02:00
{{ end }}
2021-05-31 02:53:40 +02:00
2021-05-25 05:21:09 +02:00
announce :
twitter :
2023-02-03 02:06:46 +02:00
enabled : false
2023-06-07 04:57:51 +02:00
message_template : "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}"
2021-09-23 20:33:18 +02:00
2022-11-18 02:42:43 +02:00
mastodon :
enabled : true
2023-06-07 04:57:51 +02:00
message_template : "#GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}"
2022-11-20 20:31:06 +02:00
server : https://fosstodon.org
2022-11-18 02:42:43 +02:00
2021-09-23 20:33:18 +02:00
discord :
enabled : true
2023-06-07 04:57:51 +02:00
message_template : "GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}"