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.
* 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>
By default, snap store manage "edge", "beta", "candidate" and "stable".
Default to all this channels when package is in grade stable. But only on
"edge" and "beta" for grade "devel".
Signed-off-by: Guilhem Lettron <guilhem@barpilot.io>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: archive files
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: better archives
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: better archives
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test todos
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy et al
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve docs and remove typoe 'licence' from defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: error string
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: remove some logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: use utc
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upgrade cobra
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: upgrade cobra
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: docs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* chore: less diffs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* wip: podman
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: preparing for other docker implementations
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: preparing for other docker implementations
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: log
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: use buildx
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: cover
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: docker_manifests.skip_push
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* Implemented build option output_path
* feat: output path renamed to dist_path
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: CR
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: binary name
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
Co-authored-by: Thomas Meckel <tmeckel@users.noreply.github.com>
* feat: --auto-snapshot
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: fix
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: workflow
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat(nfpm): template homepage and description
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* chore: fumpt
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat(nfpm): allow to template contents.dst
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: revert unwanted change
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: gofumpt
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: release header/footer
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: release header/footer
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: using the golden library all over
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: brew arm tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: use footer
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: Use GitLab Direct Asset Links
Implement the use of Direct Asset Links when uploading artifacts to a GitLab release
* fix: Remove ArtifactUploadHash
As GitLab support for direct asset linking exists, remove ArtifactUploadHash due to it no longer being required
* test: fix unit tests for gitlab urls
* fix: Use artifact name during GitLab upload
file.Name() included the path to the file, which isn't needed and breaks other areas such as homebrew releases
* docs: Require GitLab version v12.9+
Due to newly introduced dependency on direct asset linking
* tmp changed nfpm dep to fork
* added rpm pretrans and posttrans scriptlets
* cleanup gomod
* docs: added pretrans and posttrans examples in nfpm.md
* added test for rpm pretrans and posttrans scriptlets
* docs: add cmd docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: cmd docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: num cpus
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: improve some things
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: script
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve output a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve output a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: revert unwanted changes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip err
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: build
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* fix: handle build.main being a go file when using gomod.proxy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: guess pkg
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: allow to use ModulePath on templates
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: initial proxy build support
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: build
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: main check
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: make it more flexible
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: small improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: copy go.sum
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: root mod proxy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: snapshots
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: proxy main pkg
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: environment variables
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added some tests to go mod proxy feature
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: linte
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: goreleaser.yml
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplify tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: test build
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: revert unwanted changes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: allow to run when no mod.suym
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: example
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: not a go module on go 1.15
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: improve docs as per comments
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: default gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Docker-in-Docker is overkill for simple binary and archive release purposes. This change adds an example `.gitlab-ci.yml` and some additional explanation on the general GitLab CI process.
* fix: log semver errors when snapshot
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: deprecate notice
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: support apple silicon
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: go 1.16
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: go 1.16
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: go 1.16
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test case
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Update .github/workflows/build.yml
Co-authored-by: Radek Simko <radek.simko@gmail.com>
* docs: go 1.16
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Radek Simko <radek.simko@gmail.com>