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 :
2021-08-21 15:59:15 +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
2017-06-28 00:20:08 +02:00
builds :
2018-04-04 02:36:11 +02:00
- env :
- CGO_ENABLED=0
goos :
- linux
- darwin
- windows
goarch :
2021-10-26 20:02:03 +02:00
- "386"
2018-04-04 02:36:11 +02:00
- amd64
- arm
- arm64
2023-01-25 19:23:44 +02:00
- ppc64
2021-10-04 19:26:18 +02:00
goarm :
2021-10-26 20:02:03 +02:00
- "7"
2023-02-09 13:57:38 +02:00
ignore :
- goos : windows
goarch : arm
2020-07-06 22:09:22 +02:00
mod_timestamp : '{{ .CommitTimestamp }}'
flags :
- -trimpath
ldflags :
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X main.builtBy=goreleaser
2021-08-25 03:24:46 +02:00
2021-10-12 19:55:43 +02:00
universal_binaries :
2021-12-08 02:53:39 +02:00
- replace : false
2021-10-12 19:55:43 +02:00
2017-08-28 01:45:33 +02:00
checksum :
2021-08-25 03:24:46 +02:00
name_template : 'checksums.txt'
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 :
2018-04-04 02:36:11 +02:00
- '^test:'
2021-10-13 03:18:56 +02:00
- '^chore'
2022-05-11 15:16:11 +02:00
- 'merge conflict'
2018-04-04 02:36:11 +02:00
- Merge pull request
2021-11-24 14:12:24 +02:00
- Merge remote-tracking branch
2018-04-04 02:36:11 +02:00
- Merge branch
2020-07-13 15:00:16 +02:00
- go mod tidy
2021-11-24 03:29:47 +02:00
groups :
2022-06-27 03:00:23 +02:00
- title : Dependency updates
2022-11-07 14:28:52 +02:00
regexp : '^.*?(feat|fix)\(deps\)!?:.+$'
2022-06-27 03:00:23 +02:00
order : 300
- title : 'New Features'
2022-11-07 14:28:52 +02:00
regexp : '^.*?feat(\([[:word:]]+\))??!?:.+$'
2022-06-27 03:00:23 +02:00
order : 100
2021-11-24 03:29:47 +02:00
- title : 'Bug fixes'
2022-11-07 14:28:52 +02:00
regexp : '^.*?fix(\([[:word:]]+\))??!?:.+$'
2022-06-27 03:00:23 +02:00
order : 200
2022-05-11 15:16:11 +02:00
- title : 'Documentation updates'
2022-11-07 14:28:52 +02:00
regexp : ^.*?doc(\([[:word:]]+\))??!?:.+$
2022-06-27 03:00:23 +02:00
order : 400
2023-02-03 02:07:38 +02:00
- title : 'Build process updates'
regexp : ^.*?build(\([[:word:]]+\))??!?:.+$
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 :
2020-11-28 21:26:37 +02:00
- image_templates :
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
dockerfile : Dockerfile
2021-06-26 21:36:31 +02:00
use : buildx
2020-11-28 21:26:37 +02:00
build_flag_templates :
2021-01-04 19:29:31 +02:00
- "--pull"
2022-01-30 19:50:07 +02:00
- "--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"
2020-11-28 21:26:37 +02:00
- "--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}}"
2021-01-04 19:29:31 +02:00
- "--platform=linux/amd64"
2018-11-27 17:39:50 +02:00
extra_files :
- scripts/entrypoint.sh
2018-10-31 05:23:29 +02:00
- image_templates :
2021-01-04 15:37:04 +02:00
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
2018-11-27 17:39:50 +02:00
dockerfile : Dockerfile
2021-06-26 21:36:31 +02:00
use : buildx
2018-11-27 18:05:54 +02:00
build_flag_templates :
2021-01-04 19:29:31 +02:00
- "--pull"
2022-01-30 19:50:07 +02:00
- "--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"
2020-01-26 17:06:21 +02:00
- "--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}}"
2021-01-04 19:29:31 +02:00
- "--platform=linux/arm64"
2020-11-28 21:26:37 +02:00
goarch : arm64
2018-09-04 14:26:26 +02:00
extra_files :
- scripts/entrypoint.sh
2021-08-25 03:24:46 +02:00
2020-11-28 21:26:37 +02:00
docker_manifests :
- name_template : 'goreleaser/goreleaser:{{ .Tag }}'
image_templates :
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
2021-01-04 15:37:04 +02:00
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
2020-11-28 21:26:37 +02:00
- name_template : 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}'
image_templates :
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
2021-01-04 15:37:04 +02:00
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64'
2020-11-28 21:26:37 +02:00
- name_template : 'goreleaser/goreleaser:latest'
image_templates :
2020-12-31 15:53:45 +02:00
- 'goreleaser/goreleaser:{{ .Tag }}-amd64'
2021-01-04 15:37:04 +02:00
- 'goreleaser/goreleaser:{{ .Tag }}-arm64'
2020-11-28 21:26:37 +02:00
- name_template : 'ghcr.io/goreleaser/goreleaser:latest'
image_templates :
2020-12-31 15:53:45 +02:00
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64'
2021-01-04 15:37:04 +02:00
- 'ghcr.io/goreleaser/goreleaser:{{ .Tag }}-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 : >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
2022-12-10 17:46:23 +02:00
{{- if .Arm }}v{{ .Arm }}{{ end }}
2019-04-16 15:19:15 +02:00
format_overrides :
- goos : windows
format : zip
2022-12-14 17:16:03 +02:00
builds_info :
group : root
owner : root
feat: better archives relative paths (#3656)
with this patch, a config like:
```yaml
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
rlcp: true
files:
- src: "build/**/*"
dst: .
nfpms:
- package_name: foo
contents:
- src: "build/**/*"
dst: usr/share/foo
formats:
- apk
```
will eval this:
<img width="1384" alt="CleanShot 2022-12-21 at 22 21 00@2x"
src="https://user-images.githubusercontent.com/245435/209034244-7c31b5f7-cfcd-4825-bb2f-7dd463c5286a.png">
as much as I would like to make this the default, it would be a breaking
change, so we really can't do it.
If `dst` is empty, it'll have the same behavior as before (no rlcp), and
if `strip_parent` is set, it will also still have the same behavior.
Finally, if the format is binary, `rlcp` is ignored too (as it doesn't
make sense).
So, this only changes if:
- your format is not binary; and
- you have files with `src` and `dst` set
Then, goreleaser will warn you to set `rlcp: true`.
## todo
- [x] docs
- [x] more tests probably
- [x] any ideas for a better name for the new config option?
fixes #3655
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-12-27 22:42:55 +02:00
rlcp : true
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 :
2020-07-06 15:48:17 +02:00
- tap :
2019-08-13 18:48:53 +02:00
owner : goreleaser
name : homebrew-tap
folder : Formula
2021-12-21 19:21:15 +02:00
goarm : "7"
2019-08-13 18:48:53 +02:00
homepage : https://goreleaser.com
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 :
2020-05-24 17:10:25 +02:00
- name : go
2021-05-27 19:33:33 +02:00
type : optional
- name : git
2021-10-27 04:04:59 +02:00
conflicts :
- goreleaser-pro
2020-11-05 04:12:49 +02:00
install : |-
bin.install "goreleaser"
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
2022-01-20 19:59:39 +02:00
aurs :
- homepage : https://goreleaser.com
description : Deliver Go binaries as fast and easily as possible
maintainers :
- 'Fernandez Ludovic <lfernandez dot dev at gmail dot com>'
- 'Carlos Alexandro Becker <carlos at becker dot software>'
license : MIT
private_key : '{{ .Env.AUR_KEY }}'
git_url : 'ssh://aur@aur.archlinux.org/goreleaser-bin.git'
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"
2018-02-12 19:58:58 +02:00
scoop :
bucket :
owner : goreleaser
name : scoop-bucket
2018-02-12 22:50:22 +02:00
homepage : https://goreleaser.com
2018-02-12 19:58:58 +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 :
2021-11-12 14:07:59 +02:00
- file_name_template : '{{ .ConventionalFileName }}'
2021-06-21 04:26:17 +02:00
id : packages
2019-05-07 11:59:53 +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
2022-02-05 23:02:06 +02:00
dst : /usr/share/zsh/vendor-completions/_goreleaser
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 :
2020-08-23 00:00:14 +02:00
- apk
2019-05-07 11:59:53 +02:00
- deb
- rpm
2022-11-02 20:30:06 +02:00
- archlinux
2019-05-07 11:59:53 +02:00
dependencies :
- git
2020-05-23 19:28:55 +02:00
recommends :
- 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 :
- 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
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 :
- cmd : cosign
2021-12-16 18:43:11 +02:00
certificate : '${artifact}.pem'
output : true
2021-12-22 15:49:03 +02:00
artifacts : checksum
2021-12-16 18:43:11 +02:00
args :
- sign-blob
- '--output-certificate=${certificate}'
- '--output-signature=${signature}'
- '${artifact}'
2023-03-02 20:11:43 +02:00
- --yes
2021-08-24 16:30:39 +02:00
docker_signs :
2021-12-16 18:43:11 +02:00
- cmd : cosign
artifacts : manifests
output : true
args :
- 'sign'
2022-11-29 03:42:02 +02:00
- '${artifact}@${digest}'
2023-03-02 20:11:43 +02:00
- --yes
2021-08-24 16:30:39 +02:00
2021-06-21 04:26:17 +02:00
publishers :
- name : fury.io
ids :
- packages
2021-06-27 00:16:54 +02:00
env :
- 'FURY_TOKEN={{ .Env.FURY_TOKEN }}'
2021-06-21 04:26:17 +02:00
cmd : ./scripts/fury-upload.sh {{ .ArtifactName }}
2021-11-21 17:34:28 +02:00
milestones :
- close : true
2021-04-21 18:46:16 +02:00
release :
2021-05-31 02:53:40 +02:00
footer : |
2021-11-26 03:37:48 +02:00
**Full Changelog** : https://github.com/goreleaser/goreleaser/compare/{{ .PreviousTag }}...{{ .Tag }}
2021-11-24 14:12:24 +02:00
2022-10-23 20:19:31 +02:00
* * *
2021-05-31 02:53:40 +02:00
2022-11-07 03:19:20 +02:00
<a href="https://goreleaser.com"><img src="https://raw.githubusercontent.com/goreleaser/artwork/master/opencollective-header.png" with="100%" alt="GoReleaser logo"></a>
2022-10-23 20:19:31 +02:00
Find examples and commented usage of all options in our [website](https://goreleaser.com/intro/).
Want to help? You can [sponsor](https://goreleaser.com/sponsors/),get a [Pro License](https://goreleaser.com/pro) or [contribute](https://goreleaser.com/contributing).
Also, feel free to reach out on [Discord](https://discord.gg/RGEBtg8vQ6) and [Twitter](https://twitter.com/goreleaser)!
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
2021-09-23 20:33:18 +02:00
message_template : 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'
2022-11-18 02:42:43 +02:00
mastodon :
enabled : true
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
message_template : 'GoReleaser {{ .Tag }} is out! Check it out: https://github.com/goreleaser/goreleaser/releases/tag/{{ .Tag }}'
2022-09-15 14:41:26 +02:00
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=jcroql