* 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