* Always strip parents.
* refactor: improve code a bit
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* refactor: even simpler
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Nathan Hammond <nathan.hammond@vercel.com>
`cosign sign` complains with the following error when using `--output`
⨯ release failed after 14.73s error=sign: cosign failed: exit status 1: WARNING: the '--output' flag is deprecated and will be removed in the future. Use '--output-signature'
* feat: allow to override env for a target
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: dupe key
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* test: fixes
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: remove empty_folders for good
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: build
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: update jsonschema library
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* Make sure to do required go mod init before continuing or goreleaser command fails.
* how the release might look like -> what the release might look like
* How does it look like -> What does it look like
* you must therefore -> you must
* Don't use GO111MODULES in example since it's so obsolete
* modules -> verifiable builds
* got you covered -> has you covered
* docs: fix several htmltest issues
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: more fixes
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: improve docker errors
Adding an error page with some more info to help debug issues.
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: forgot return
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: missing err
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: new install anf run script
- move away from deprecated git.io
- support distribution
- verify checksums and signature
closes#3074
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: rename script
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
- on universal binaries, use the build id instead of the binary name to
create the folder in the dist folder
- on builds, default the id the to the binary name instead of project
name. The binary name already defaults to the project id if empty, so
this should only prevent having to specify the id + binary name in
some cases.
closes#3061
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: add builds.no_main_check and builds.command
Added two more options to the builds section:
- command: allow to override the command being run. E.g. instead of
`go build`, one could run `go test -c` by setting gobinary, command
and flags, respectively.
- no_main_check: by default, goreleaser will fail if there's no main
function. This option allows to disable that check.
This PR effectively make GoReleaser able to release Go test binaries
instead of just "regular" binaries.
closes#3037
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix broken tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
It was just allowing v2 and v3 due to some misreading on my side.
This commit fixes it to allow v1, v2, v3 and v4.
refs #3016
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: deprecate gofish
gofish was deprecated by its authors, this deprecates it here too
refs https://github.com/goreleaser/goreleaser/discussions/2998
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: do not publish rig anymore
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: remove install
* chore: deprecate
* fix(gofish): fix broke logs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat(announce): added Slack notification options
This feature adds support for specifying a richer content in Slack
announcements. We may now specify "blocks" and "attachments" to produce
better-looking announcement messages.
* fixes#2986
The goreleaser configuration only exposes the top-level structures and does not
check the validity of the Slack API internal structures. This way, we do
not inject hard dependencies on changes in the Slack API.
Notice: untyped config parsing introduces a little hack to have yaml and
JSON marshaling work together properly. This hack won't be necessary
with yaml.v3.
How this has been tested?
-------------------------
* Added unit tests for the config parsing
* Added a (skipped) e2e test.
For now, this requires a valid Slack webhook, so I've been able to test this manually.
Signed-off-by: Frederic BIDON <fredbi@yahoo.com>
* added more unit tests
Signed-off-by: Frederic BIDON <fredbi@yahoo.com>
* removed yaml.v2 hack
Signed-off-by: Frederic BIDON <fredbi@yahoo.com>
The idea is to be able to filter by extension and send each extension to
a different place, if needed.
This also affects the artifactory pipe.
Also updated artifactory docs a bit.
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
this allows to set the -mod flag on the command used to grab the module
root package, in case its needed to ignore the vendor folder, force
readonly, etc...
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: annotated tag body
this adds another template variable, `TagBody`, with the body of the annotated tag/commit message only.
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: tag contents
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: add grep and grep -v template functions
this adds `grep` and `reverseGrep` template functions, which should help dealing with text.
refs #2920
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: rename funcs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
/usr/local/bin is intended for binaries compiled locally, which is never
the case for goreleaser.
this changes the default to /usr/bin instead.
closes#2909
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: lintian overrides
allow to more easily set lintian overrides
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: lintian
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* chore: code of conduct links
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: use the orgs code of conduct
we dont need to keep a copy of it in every project, a single one should do.
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: allow to use .Path and .Name on universal binary post hooks
This allows the usage of `{{ .Path }}` and `{{ .Name }}` on post
templates.
Closes#2890
* docs: improve docs
* test: add more tests
* feat: allow to override build flags by goos/goarch/etc
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: improve
* fix: typos
* feat: templates, merges
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: one more case
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* Update internal/builders/golang/build.go
Co-authored-by: Brian Flad <bflad417@gmail.com>
* Update internal/builders/golang/build.go
Co-authored-by: Brian Flad <bflad417@gmail.com>
* test: more tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
Co-authored-by: Brian Flad <bflad417@gmail.com>
* feat: expose runtime goos and goarch on templates and metadata
* test: fix duplicated map literal in some os/arch
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: aur PKGBUILD integration
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: guess install, improve formatting
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: more deterministic
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: binary releases, push, more tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: accept key as text
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: improvements
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: srcinfo
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: compile
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: everything
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: renames, docs, etc
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: link to docs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: go mod tidy, title
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: srcinfo tmpl
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: missing close quote
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: templates
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: always defaults conflicts and provides
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: ssh command
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: maintainers can be a list
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: ensure -bin suffix, more tests and docs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: this will never happen
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: whitespaces
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: goreleaser config
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
GitLab's Generic Package Repository allows uploading files
to GitLab, as an alternative to attachments.
Added the flag `use_package_registry` to the `gitlab_urls` config.
When false, the default, it will behave as before.
When true, it will publish the file to the Generic Package Registry.
Either way, the URL is bound to the release the same
Updated `go-gitlab` to version 0.52.2 which has the new
`GenericPackages.PublishPackageFile` function.
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: allow to template dockerfile
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: added one more test
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* 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>
* feat: allow to always log signing output
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: improve code a bit
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs(quickstart): minimum github_token perms
after testing, this is what I found
not sure this is the exact way we should write this but it's a start
* Update www/docs/quick-start.md
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: allow to customize release notes update behavior
closes#1384
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: make it a bit better
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: jsonschema
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: expose .PreviousTag
* fix: previous tag will never be a commit
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: tag
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>