* fix(brew): Remove deprecated `bottle :unneeded`
Fixes this warning from Homebrew:
`Warning: Calling bottle :unneeded is deprecated! There is no replacement.`
* fix(brew): fix regression that added newlines to formula
* feat(brew): multi-arch brew on binary archives
also fixes brew taps when archives have different binaries in each platform (e.g. some binary is only on the linux archives for some reason)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* Update internal/pipe/brew/template.go
Co-authored-by: Radek Simko <radek.simko@gmail.com>
* fix: spacing
Co-authored-by: Radek Simko <radek.simko@gmail.com>
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
Co-authored-by: Radek Simko <radek.simko@gmail.com>
* feat(homebrew): support binary releases
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: improve code
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: improve code a bit
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* test: fix archive testts
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* feat(gofish): support binary releases
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: improve code
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix(archive): binary format should have the full binary name
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: added an extra field
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: put common extra keys in the artifact package
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: common extra fields have their own funcs
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* refactor: 2 more
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: review
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* 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>
* 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>
* 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
---
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: 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>
* 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
* 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>
* 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>
* 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: 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: 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>
* 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>
* 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>
* chore(deps): bump github.com/goreleaser/nfpm from 1.2.1 to 1.3.0
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Reordered indexes in docs
* Fix customization order
* Implemented extra files
* Added tests for extra files
* Added docs
* Fix test with defaults
* Removed path and folder from extra_files
* Fix scope lint
* Removed dead code
* Removed dead code
* Added test for common package
* Fix linting
* Removed false positive from golangci
* Requested changes
* feat: Add build command
* feat(cmd/build): Add skip-post-hooks flag
* Update internal/pipeline/pipeline.go
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Without this change, users unable to control the resulting commit message of the
scoop update. In some environments this may present an issue with commit
linters that require a specific commit message format in order to build proper
change logs and make decisions. Here we include a Scoop config option to use a
format string provided by the user during the commit.
* Revert "feat: split brew tap in 2 steps (#1425)"
This reverts commit 5e8882fbb6.
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: brew generation
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: improve bucket write
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: minio test
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>
* fix: err handling
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: builds.binary template
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: revert
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Small and relatively insignificant change, but the correct spelling is
with two "t's"
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: improve check command
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: main test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests, finally
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upload source archive
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
All tests share the same environment (hence variable namespace too)
and setting & reading the same variables has lead to race conditions
which are being fixed by using different variables in each test.
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
This helps in situations where hook couldn't run at all,
e.g. because of insufficient permissions.
Previously such failure would only be reported as
empty stdout/stderr output - this allows exposure
of the real root cause.
* fix: remove useless log
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: brew no token
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: add a warn
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: split brew tap in 2 steps
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* refactor: improve env
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: loop
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: checksum pipe will not return an error when artifact list is empty
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* new: build.skip option for libraries
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* docs: update doc with build.skip option
Signed-off-by: Leonardo Grasso <me@leonardograsso.com>
* fix: simplify retries
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplify retries
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplify retries
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: syntax
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: build.binary and artifact.extra.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: scoop usage of extra[binary]
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: unlock
* fix: do not retry upload if file already exists
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: gitea client
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: godocs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove deprecated blob and sign
you should now use blobs and signs instead.
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: http.target template
refs #1357
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: remove unused struct
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upgrade to go 1.14
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>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: snapcraft: do not publish when skip publish
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: snapcraft: do not publish when skip publish
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: upload extra files to the release
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: retry upload
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: globs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: globs
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: typo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit exposes the Artifact name as a template variable so that the
artifact name can be moved around within the `targetURL`. This enable users to
manipulate the target URL as desired in order to pass in PUT parameters that
doesn't always following the currently defined `targetURL` which append the
artifact name to the end.
This is needed to address[1] by enable the ability to add metadata to
Artifactory REST API [2] as the URL parameters, which need to be after the
artifact names.
It's important that this is backward compatible with existing release
configurations so this is an opt-in option, if it's omitted or not set, no
changes to exist configurations. When enabled with `CustomArtifactName=True` as
part of HTTP Upload options `Artifact.Name` will no longer be appended to the
end of TargetURL.
[1]:https://github.com/goreleaser/goreleaser/issues/1336
[2]:https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Example-DeployinganArtifact
* wip: fix gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* wip: fix gomips
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added more
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added more
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix(git): Use CI envronment variables to figure out tag
This patch detects CI environments and uses the available tag information when
collecting the git tag.
This resolves issues where one commit has multiple tags.
Closes#1163Closes#1311
* Update www/content/release.md
Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* Update www/content/release.md
Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* Update www/content/build.md
Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* Update www/content/release.md
Co-Authored-By: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat(doc): Document git tag override in environment
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat(sign): id, concurrent map
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: more tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: comments
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove deprecated brew config
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wording
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wording
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: defaults
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: remove deprecated s3 pipe
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* enhc: allow snapcraft apps: directive to utilize custom commands, defaults to binary name if no apps: are specified
* refactor: snapcraft tests
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: remove singular archive config
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* clean: remove deprecated nfpm
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: added blob.region and blob.disableSSL
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: simplified url
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: moved sign log to info
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: stream cmd output
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: log writer
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: log
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wait already closes
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: wait for wg first
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: use lib
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: version
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: docker builds filter
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: docker builds filter
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: fully support all s3 pipe feats on blob
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tidy deps
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* docs: document endpoint option
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: http POST
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: http POST
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: deprecate
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: upload tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: artifactory
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: http username validation
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: renames
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: allow to change package name
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: typo
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Added new flags to support release notes header and footer.
Created two flags for release generation.
--release-footer
--release-header
These flags can help you to add custom changelog text before/after changes that are generated by git log.
* Fix changelog.go to avoid lint errors
* Fix test typo
* Added tests for main, fixed bug with no passing options to release ctx
* Add @caarlos0 suggestions
* feat(release): add artifact filter (by id) to release pipe
* add `ids: string[]` to release configuration
* add support for filtering artifacts by id within the release pipe
* update docs for release
* fix: reject docker.files as . or inside dist
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: deprecated method
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: skip aware semerrgroup
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: docker: skip push skips other builds
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump semver
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* chore(deps): bump cors
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tmp simplify
* refactor: brew tests for mutiple archives per os
* feat: adds keep latest goarm version and uses it for brew
* chore: adapts golden brew test file for arm version
* test: brew for multiple arm versions
* refactor(test): brew for multiple arms
* docs: updates homebrew
* Revert "fix: tmp simplify"
This reverts commit 946a2fa1b1.
* feat: adds goarm version to brew
* fix: filter chain for one goarm version
* chore: removes unused keep latest arm version filter
* refactor: brew tests
* fix: removes test for keep latest arm version
* docs: updates homebrew for goarm property
* chore: updaes err msg for brew multiple archives same os
* makes context tokentype a public var
* passes artifacts object into client upload function. extracts gitlab upload hash from url
* adds gitlab url to brew config
* build brew formula depending on token type
* fixes client for release tests
* fixes exiting brew tests
* fixes scoop test with dummy client adaption
* uses new artifact upload hash
* fixes brew usage
* updates gitlab createFile for brew
* fixes logging for non-existing file in gitlab logging
* fix: gitlab createFile
* fix: removes encoding from gitlab create and update file opts
* fix: gitlab upload and artifact set upload hash
* fix: linter
* changed artifact item to a pointer in ctx
* docs: updates homebrew
* feat: enables scoop for gitlab release
* fix: scoop panic for pointer access
* chore: rename formula build func for brew
* chore: brew removes comments
* fix: brew tests
* test: updates brew tests
* docs: updates homebrew
* test: for token type not implemented for brew
* tests: for multiple linux builds
* fix: build artifacts are pointer in scoop
* test: for scoop and gitlab
* test: for artifacts set upload hash
* adds missing files after adaption
* chore: removes and clarifies comments
* fix: moves artifact upload hash to extra map
* adds comment why we initialize the extra map
* clean: remove deprecated docker options
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* ci: gocenter is slowwww
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* clean: remove uneeded test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* Revert "ci: gocenter is slowwww"
This reverts commit 7e4b1eb244.
* fix: pluralize blob in the config file
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: blob kms support
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* outlines gitlab client integration
* makes client parameter more explicit
* adds gitlab url to config
* changes releaseID to string to adapt to gitlab
* updates to latest gitlab client lib 0.18
* fixes copy paster in gitlab upload func
* fixes gitlab typo in config
* adds gitlab token to env and context
* release now uses the client factory method
* skips brew pipe if it is not a github release
* add github tokentype to publish tests
* skips scoop pipe if it is not a github release
* corrects brew skip msg
* adds gitlab token to main test
* adds gitlab to release docs
* validates config and errors accordingly
* adapt release pipe name to include gitlab
* fixes gitlab client after testing
* moves not-configured brew and scoop pipe checks as first check
* adds more debug to gitlab client
* adapts changelog generation for gitlab markdown
* adds debug log for gitlab changelog
* env needs to run before changelog pipe
* moves gitlab default download url to default pipe
* moves multiple releases check to from config to release pipe
* release differs now for github and gitlab
* adds debug gitlab release update msgs
* moves env pipe as second after before because it determines the token type other pipes depend on
* adaptes error check on gitlab release creation
* Revert "adaptes error check on gitlab release creation"
This reverts commit 032024571c.
* simplifies gitlab client logic. removes comments
* skips tls verification for gitlab client if specified in config
* updates the docs
* adds clarification that brew and scoop are not supported if it is a gitlab release
* fixes copy paster in release.md
* adds missing blob pipe in defaults and publish due to missing in merge
* updates comment in gitlab client
* fix: non-templateable field as default build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: added test for build.id
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* test: fixed test
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: brew tmpl
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: compile
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* fix: compile
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
* feat: adding support to push artifacts to AWS S3,Azure Blob and Google Cloud Storage
readme for blob publisher
test: add unit test for blob using testify and mockery
test: add unit test for publish method
fix: openbucket instance initialization
remove unwanted packages: go mod tidy
test: add missing unit test for publish method
* doc: add missing comment for func
* fix: add accidental delete file
* fix : add missing Snapcrafts project
* fix: unit test for Azure blob
* fmt: rewrite if-else-if-else chain to switch statement and fix golangci-lint reporeted issue
* fmt: fix linter reporeted issues
fmt: rewrite if-else-if-else chain to switch statement and fix golangci-lint reporeted issue
fmt: linter fix
* test: fix typo in test error string
* feat: add support to provider folder inside bucket, resolves discussed comments
* feat: multiple archives
* fix: several things
* test: fixed
* fix: several things
* fix: archive id on the artifact
* fix: deprecated since
* docs: deprecations page improvements
* feat: templateable hooks
* test: improved test
* docs: docs about templateable hooks
* test: improve test
* test: skip test that only fails on travis
The signature Path was assumed to be at the root of dist without
taking into account the target of the original artifact. This made the
upload of signature fails with file not found errors.
The signature Name was the actual signature filename and didn't take
into account the target and would lead to conflicts when flattening
the paths for upload. This change derives the Name from the original
artifact Name instead.
* fix: use the filename of the binary in snapcraft
When builds.binary is a path, only use the filename as the name
of the snapcraft app and as the command, instead of the full path.
* docs: use a path in the binary name
* feat: added Plugs attribute to snapcraft.Metadata allowing plugs to be configured as plugs.<plug-name>.<attribute-name>
* fix (test): added snapcraft plugs configuration test
* fix: snapcraft Metadata to use correct data type for Plugs
* fix: refactor Snapcraft Plug configuration
* fix: test on newer snapcraft
hopefully
* docs: snap plugs
- Updates Homebrew config to make "SkipUpload" a string so that it can
contain more than true or false values. New available options are
"true", "false" and "auto".
- Adds a new check in Homebrew publish to see if it should skip due to a
prerelease and "SkipUpload" set to auto.
- Adds a new test to make sure that tap publishing is skipped when set
to "auto" and a prerelease semver is provided.
- Updates documents to add information about the new "auto" option for
"SkipUpload".
In some cases, changelog or release notes do not need to be compiled for
various reasons.
This commit adds an option to Skip building the changelog.
Fix#888
* feat: support multiple binaries on docker
* test: docker: fixed to use binaries
* refactor: several docker pipe improvements
* fix: tag templates
* test: fix defaults test
* fix: breaking: remove .Binary, .Os, .Arch support from docker image_templates
* fix: lint issues