Background
---
When a git repository is hosted in multiple GitLab instances the
`.goreleaser.yml` needs to take in consideration both APIs endpoints. At
the moment it defaults to GitLab.com and you can override it with
`gitlab_urls` however this forces you to only support 1 GitLab instance.
We need this for
https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/14122
where we have a tool that is developed on GitLab.com but then mirrored
to an internal GitLab instance since we need it to operate GitLab.com
even when it's down.
Solution
---
Support templates like `{{ .Env.CI_SERVER_URL }}` for the
`gitlab_urls`, `github_urls` and `gitea_urls` so it can use environment
variables and the same `.goreleaser` file can be used in multiple SCM
instances.
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: Add support for templating NFPM bindir
Example: Allow software to be deployed in '/usr/lib64' directory on x86_64 arch
and in '/usr/lib' directory in i386
* test: invalid bindir template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: bindir template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Rémi Ferrand <remi.ferrand@cc.in2p3.fr>
* feat: use go 1.17
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix failing test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: increase lint timeout
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: increase lint timeout
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: sign docker images with cosign
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve sign logging
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: do not sign if skip publish is set
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: install cosign
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: fix wrong docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: Change the init-template for snapshot.name_template
* fix: Change the default-template for snapshot.name_template
BREAKIND CHANGE: The default value of `snapshot.name_template` is changed.
Currently, the 'goVersion' function is run without any directory set.
This is problematic when a build uses the 'dir' config in combination
with the 'gobinary' config. When 'gobinary' is a relative path (like a
script in the current repository), goVersion silently fails, returning
an empty string.
This commit refactors 'goVersion' to execute the command with '.Dir' set
to the 'build.Dir', in addition to now returning an error, so that
issues may be bubbled up in the build log, rather than silently failing.
It also adds a new helper function to facilitate running 'goVersion' by
creating a temporary executable that outputs a given 'version' string.
This function is only currently used by 'TestWithDefaults'.
Co-authored-by: Rob Prentiss <prentiss@apple.com>
* fix: upload gcs blobs to bucket root
* test: blob upload to bucket root
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Adam Bouqdib <adam@abemedia.co.uk>
* feat: support windows/arm64
closes#2404closes#2405
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: broken test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: deprecation warnings
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: add id to dockers and docker_manifests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: actually allow to use the images
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>