* refactor: improve build
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: coverage
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Background
---
In 5bcfa9042d0efd419b660a3b63c815a13d919e30 the condition was changed to
that it can support the new status code returned by GitLab. However, the
condition is now checked `resp != nil` and not `resp == nil` which causes
the condition not to trigger when the resp is nil and only returns an
error. We can reproduce this issue by running
`TestGitLabCreateReleaseUknownHost` test added in this commit.
Solution
---
If we look at other error handling
91a8abb2e6/internal/client/gitlab.go (L106)
we can see that we check if the `resp` is nil as well before continuing.
Added tests for the following use cases:
- When there is an error and no response was returned.
- When there is a 403 or 404 error so we expect to create a release
first.
- When there is an unknown error (not 404, 403) we just bail.
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.