* feat: artifacts.Remove
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: fatbinary
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: run fatbinary on pipeline
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: make archives work with fat binaries
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: make brew work with fat binaries
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: make gofish work with fat binaries
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: archive binary fatbin
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: fat binaries
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix on linux
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat(ci): enable fat bins on goreleaser itself
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: rename to universal binaries
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: config
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: rename prop
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
When using the announce feature, you might want to inform your users about the features and changes that this release brings. This change allows you to use {{ .ReleaseNotes }} in any template string, after the changelog pipeline step has been executed.
* test: speed up minio tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: speed up minio tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: speed up minio tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: rm unused param
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: use not-so-common contianer name
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: speed
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: inc coverage
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: inc coverage
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: changelog from github
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: unifying client mocks
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: unifying client mocks
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: mocks
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: added tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: remove unused code
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: added more
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: testdata
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: fmt
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* docs: improve docs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: unifying client mocks
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: unifying client mocks
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat: allow default branch to be used in gitlab
* feat: add func to get default branch
* fix: matching branch args
* feat: branch customization
* fix: fixing dummyclient naming
* refactor: remove createbranch
* feat: Adding gitlab branch customization
* feat: testing for github and gitea defaultbranch
* fix: remove dummy debug message
* fix: removing note about gitea not being supported
* feat: allow default branch to be used in gitlab
* docs: links updat
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: delete kodiak.yml
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: add func to get default branch
* fix: matching branch args
* feat: branch customization
* fix: docs: Missing mattermost docs on website (#2543)
* docs: update CircleCI example (#2545)
* fix: fixing dummyclient naming
* docs: some little fixes on the webpage (#2547)
* feat: some little fixes on the webpage
Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
* Update www/docs/overrides/home.html
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: remove unused not impl error (#2540)
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: add template support for homebrew tap owner (#2544)
* feat: add template support for homebrew tap name
refs #2544
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: remove createbranch
* feat: Adding gitlab branch customization
* feat: testing for github and gitea defaultbranch
* fix: remove dummy debug message
* fix: removing note about gitea not being supported
Co-authored-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Engin Diri <engin.diri@mail.schwarz>
Co-authored-by: Ricardo N Feliciano <FelicianoTech@gmail.com>
Co-authored-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Erik Weber <terbolous@gmail.com>
* feat: allow to skip announcers
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: announce.skip
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve brew templates
based on #2509
Co-authored-by: Engin Diri <engin.diri@mail.schwarz>
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: improve templates a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve check
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve less
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve counts
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Engin Diri <engin.diri@mail.schwarz>
Background
---
GitLab supports
[subgroups](https://docs.gitlab.com/ee/user/group/subgroups/) so a
repository can look something like
`gitlab.com/top-level-group/sub-group/repository` for example https://gitlab.com/gitlab-com/gl-infra/jsonnet-tool.
At the moment this detection doens't work out of the box and requires
the user to set the
[`owner`](8b0781e576/.goreleaser.yml (L32-35))
Solution
---
Instead of dropping off the nested sub-groups automatically add them.
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: improve middleware
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: upload tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: twitter tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: source tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: snapshot tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: improved some tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: snapcraft skip
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip slack
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip sign
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip scoop
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip reddit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip discord
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip publish
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip milestone
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip custompublishers
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip checksums
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip changelog
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip brew
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip blob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip before
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip artifactory
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip announce
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: cmds
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip docker
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: todo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go.mod
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip release
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove old skip pipe errors
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip teams
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip brew
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix/test: skip smtp
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip docker
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip brew and scoop
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip docker
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip http/artifactory
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: increase coverage
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* 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 5bcfa9042d 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.
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>
* fix: main check when using gomod.proxy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: main check when using gomod.proxy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: make scoop write .json when --skip-publish
Don't skip the pipeline altogether but write
out the manifest.json file as the homebrew
pipeline does, only skip committing to the repo.
closes#2374
* Update internal/pipe/scoop/scoop_test.go
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: tag sorting
When the HEAD commit has multiple tags, they are sorted in order to select the latest so that it can be released.
However, the existing sort would not work if there were multiple commits across a Wednesday and a Thursday.
For example:
```
git tag --points-at HEAD --format='%(creatordate)%09%(refname)'
Wed Jul 28 07:13:19 2021 +0000 refs/tags/v0.0.183
Thu Jul 29 13:31:07 2021 +0000 refs/tags/v0.0.184
Thu Jul 29 13:38:42 2021 +0000 refs/tags/v0.0.185
Thu Jul 29 13:57:44 2021 +0000 refs/tags/v0.0.186
```
When using the existing sort the `creatordate` field was targeted and reversed. Alphabetically Thursday comes before Wednesday, so that is reversed and the Wednesday release always comes first:
```
git tag --points-at HEAD --sort=-version:creatordate --format='%(creatordate)%09%(refname)'
Wed Jul 28 07:13:19 2021 +0000 refs/tags/v0.0.183
Thu Jul 29 13:57:44 2021 +0000 refs/tags/v0.0.186
Thu Jul 29 13:38:42 2021 +0000 refs/tags/v0.0.185
Thu Jul 29 13:31:07 2021 +0000 refs/tags/v0.0.184
```
This would make goreleaser attempt to release that existing tag again, and fail.
If we instead sort by reversed `refname` we get the tags ordered by their numeric value, which ignore the day of the week of release:
```
git tag --points-at HEAD --sort=-version:refname --format='%(creatordate)%09%(refname)'
Thu Jul 29 13:57:44 2021 +0000 refs/tags/v0.0.186
Thu Jul 29 13:38:42 2021 +0000 refs/tags/v0.0.185
Thu Jul 29 13:31:07 2021 +0000 refs/tags/v0.0.184
Wed Jul 28 07:13:19 2021 +0000 refs/tags/v0.0.183
```
Allowing the latest version, 0.0.186 in this case, to be targeted for release.
* corrected test case
* add space
* remove space
* fix: return an err with stdout/err when a command failed
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: move copyfile to gio package
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: copying file on docker pkg instead of hard linking
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixex
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: one todo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: copy with mode
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: errors
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>
* feat: moving some cmd logs to debug
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: moving some cmd logs to debug
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.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>
A continuation of #2267 - the header and footer in release configuration
can be templatized as well to support more use cases like attaching
published docker image information(without using docker pipe).
* refactor(docker): preparing for multiple backends
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: remove pro test
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: merge issues
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: merge issues
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: merge issues
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>
Saving again the full path of the binary in the artifact name, if needed, we can filepath.Base it and get the name only.
refs #2280closes#2311
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>
* refactor: build go build cmd line
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: build.tags
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: improve test code
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: improve test code
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
* fix: allow underscores in formula name
I was trying to create two formulas per release. One signifying the latest and
another with the version explicitly: formula.rb and formula@v0.0.0.rb
The filenames are fine but the formula name for the explicit version
was created as FormulaATv0.0.0 which isn't valid Ruby.
Looking at the function history I couldn't find why underscores were being replaced
since underscores are valid for Ruby identifiers. I opted to replace dots in a formula with
underscores
- 1399a39603
- https://ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html#ident
* test: add test for version in formula name
I think underscores are removed to make the Formula name cleaner
* test: re-add old test
* 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
If the discussion category name is not specified in the config file, do not send it in to the request
This is a quick fix, and possibly it would be better to make `DiscussionCategoryName` a pointer.
* 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>
* feat: fail on shallow clone
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: typo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wrong docker manifest on latest
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: do not fail on missing manifest
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplify code a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: existing manifest
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
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>
* feat: lint on specific ci step
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: run on push
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: contributing
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: contributing
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: action
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: update fileglob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upgrade nfpm too
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* 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>
* fix: try not to break if run on go1.15
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go binary needs to be set
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: gofumpt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: move to log
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>
* fix: brew default install when using templates in the binary name
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove unused func
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove unused func
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: copy nfpms to docker image too
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: improving
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: deprecations and docker improvements
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: revert .goreleaser.yml changes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: fix syntax
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: fixed deprecation warnings
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: coverage
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: add one more test case
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fix
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: add arm64 to the default goarch list
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
The properties Section and Priority are currently ommited from the goreleaser config. This commit wires them up so we can use them to build our packages.
* feat: upgrade nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upgrade nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: ugprade nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: ugprade nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: do not modify list
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Since multiple filenames for the config file are allowed, we find several different usages of the file names in the docs:
- .goreleaser.yml
- goreleaser.yml
- .goreleaser.yaml
- goreleaser.yaml
I find that using a single filename in the docs is more intuitive for new users. Hence I replaced all occurrences of the filename with `.goreleaser.yml`.
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use t.Cleanup instead of defer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: filepath
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Add IDs filter to checksums pipe
This allows specific artifacts to be excluded from the checksums file.
The reason for introducing this, is the requirement of Terraform
Registry releases to only contain the prescribed archives in the
checksums file. If the file contains more, the release is not accepted
by the Terraform Registry.
* Add test case for IDs filter of checksums pipe
* Document IDs filter of checksum pipe
* Always apply type filter for artifacts
This is more in line with how the other ID-filters work.
* feat: add docker manifests to release notes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve code a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: cover artifact.Type.String() with tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: multi-arch docker images
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: split files
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: manifest
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: split files
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added some
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: flags
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: diff
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: enable experimental
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: multi-arch goreleaser images
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* implement for brew and scoop support for Gitea-hosted repos
* fix test
* add ReleaseURLTemplate support for gitea
* Add TestGiteaReleaseURLTemplate
* fix api to download url conversion
* switch test gitea instance to gitea.com
* fix defaults
* add test for defaults.go (GiteaURLs)
* add option into docs
Add a `.Branch` field to the text templates populated by the current git
branch.
Signed-off-by: Ben Kochie <superq@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* fix: improving URLs on linuxbrew
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: rename template fields
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix(tests): adapts brew test formulas and docs
* Revert "fix(tests): adapts brew test formulas and docs"
This reverts commit 51dd8cf6c7.
* fix: template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: fixed example
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Manuel Vogel <mavogel@posteo.de>
* feat: nfpm rpm.summary and nfpm.ghost_files
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: replace zglob with gobwas/glob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: added missing file
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed wrong assertions
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: use fileglob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: update fileglob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: update fileglob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test errors
* fix: empty file
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: update fileglob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: Add deb packager-specific nfpm config (#1829)
* Use env vars containing nfpm ids for deb pgp passphrase
* Add docs for nfpm id in env var
* Custon -> Custom
* Switch test cases
* Forward RPM specific config to nfpm
* Document rpm-specific nfpm config
* Add APK-specific nfpm config
* Document apk-specific nfpm config
* avaiable -> available
* Add deb scripts templates to nfpm config
* feat: use proxy from environment
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Update internal/client/github.go
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: validate goos, goarch, goarm and gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: snap restart-condition
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: restart-condition
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use require on all tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: use require on all tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* chore(deps): update nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
The warning `optimistically guessing `brew[%d].installs`, double check` made me thinks of a hidden `installs` option (note the final "s"). Thanks god, it's just a typo, the existing and documented option is `install` (without the "s")
* fix: do not default goos/goarch/goarm if targets is provided
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: ignore EOF on artifactory
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: dont even need to read that
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove artifactoryResponse
* refactor: remove artifactoryChecksums
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Existing implementation seemed to rely on implicit case fallthrough, which doesn't exist in Go. Moving default return to default case helps catch this error in the future, as it will cause a "missing return" compile error.
Signed-off-by: Andy Bursavich <abursavich@gmail.com>
* feat: upgrade nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: allow to create apk packages
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: multiple brews with skip upload
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix(brew) create file if skip is set
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve code a bit
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: duplicated errors
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Update to Go 1.15 image (#1758)
* feat: use go 1.15
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove darwin_386
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Co-authored-by: Simon Jürgensmeyer <sj14@users.noreply.github.com>
* fix: ignore git warnings
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added test case
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: failing test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This change allows us to use all the template variables in the named templates in the before hook.
Issue: GH-1710
Co-authored-by: Ryan Currah <ryan.currah@crowdstrike.com>
* feat: support closing milestones
Reference: https://github.com/goreleaser/goreleaser/issues/1415
* refactor: Adjust milestone handling for code simplification, add ErrNoMilestoneFound, and fix milestone documentation close default
Reference: https://github.com/goreleaser/goreleaser/pull/1657#pullrequestreview-445025743
* refactor: Use single repo config in milestones instead of each VCS
* fix: Ensure milestone Pipe is included in Defaulters
* feat: Add fail_on_error configuration to milestone configuration
Co-authored-by: Radek Simko <radek.simko@gmail.com>
* Make checksum ordering consistent
* Use consistent time for build date
* Add commit date to templates
* Add config option for build mod timestamp
* Make goreleaser builds reproducible
* Fix error in wording
* Update www/docs/customization/build.md
* add nfpm meta flag - ignore binaries
* docs: update nfpm.md
* Update www/docs/customization/nfpm.md
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>