1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-02-03 13:11:48 +02:00

1524 Commits

Author SHA1 Message Date
John Taylor
74e706461b
fix: allow homebrew to use tar.xz format (#4441)
<!-- If applied, this commit will... -->

In a `brews` section, goreleaser will fail when using `format: tar.xz`
even though homebrew supports installing binaries bundled in a `.tar.xz`
archive.

<!-- Why is this change being made? -->

I use `.tar.xz` instead of `.tar.gz` and would like goreleaser to
support this when used in conjunction with `brews` sections.

With this patch, I created a test [homebrew
formulae](https://github.com/jftuga/homebrew-tap/blob/main/awswho.rb)
and successfully installed it under macOS.
2023-11-24 14:03:05 -03:00
Carlos Alexandro Becker
a5f767832a
SBOM improvements (#4430)
refs https://github.com/orgs/goreleaser/discussions/4425
2023-11-23 17:40:25 -03:00
Gabriel Cipriano
8f6b16f6b5
feat: validate ko's main path (#4429)
closes #4382
2023-11-19 14:54:18 -03:00
Gabriel Cipriano
59a3eeb56d
fix: linkedin announce api changes (#4428)
Closes #4421 

I chose to keep `getProfileID` as `getProfileIDLegacy` and use it as a
fallback if `getProfileSub` fails because of permission scope.

In this way, it's not a breaking change because one that has only a
deprecated permissions such as `r_liteprofile` will still be able to hit
`v2/me`

this logic is encapsulated in the new function `getProfileURN`, that
resolves the user identifier and returns it formatted as a URN

---------

Co-authored-by: Gabriel F Cipriano <gabriel.cipriano@farme.com.br>
2023-11-18 09:51:42 -03:00
Ernst Widerberg
d2d910f54f
docs: fix typos (#4406) 2023-11-06 09:14:07 -03:00
Carlos Alexandro Becker
b9cca21b7a chore: simplify test 2023-11-03 23:40:07 -03:00
Carlos Alexandro Becker
74a9317c83 fix: properly handle multi-module projects with a go.work file
closes #4379
2023-11-03 23:40:07 -03:00
Carlos Alexandro Becker
63f2f0a18d
fix(docker): improve error msg 2023-11-04 01:01:17 +00:00
Torsten Curdt
1bd8190b9e adjusted the string to search for in the error message
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-11-03 22:00:17 -03:00
Torsten Curdt
bd149aca5d switched to double quotes
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-11-03 22:00:17 -03:00
Torsten Curdt
49f39736ef more explicit error message for docker buildx context error 2023-11-03 22:00:17 -03:00
Carlos Alexandro Becker
e9dda51607 test: fix 2023-11-03 21:47:09 -03:00
Carlos Alexandro Becker
422c46daff test: improve some tests 2023-11-03 21:47:09 -03:00
Carlos Alexandro Becker
0fbc447fe1 feat: --skip=homebrew 2023-11-03 21:47:09 -03:00
Carlos Alexandro Becker
954121ffb1 feat: --skip-nix 2023-11-03 21:47:09 -03:00
Carlos Alexandro Becker
53071b6642 feat: --skip=aur 2023-11-03 21:47:09 -03:00
Carlos Alexandro Becker
2223c93b8c
feat: check if go.mod has replace directives (#4398)
closes #4395
2023-11-03 21:42:09 -03:00
Carlos Alexandro Becker
1a8702f140
feat: --skip=snapcraft 2023-11-03 23:24:04 +00:00
Carlos Alexandro Becker
c6cb980c4f
feat: --skip=winget 2023-11-03 23:23:25 +00:00
Carlos Alexandro Becker
8ce439972a
feat: --skip=scoop 2023-11-03 23:22:50 +00:00
Carlos Alexandro Becker
b8cc16d4ac
fix: .Amd64 in build hooks
closes #4399
2023-11-02 12:47:00 +00:00
Carlos Alexandro Becker
3a3cf610f8
docs: conventional file name on armv6
refs https://github.com/charmbracelet/meta/pull/116
2023-11-02 12:32:31 +00:00
Carlos Alexandro Becker
896366f3dc feat: version in the yaml file
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-10-31 15:10:16 -03:00
Carlos Alexandro Becker
d4540f884f
test: fix unstable test 2023-10-30 15:50:30 +00:00
Gabriel F Cipriano
cf008d3ed7 fix: sort checksum lines by filename 2023-10-30 12:49:39 -03:00
Raito Bezarius
1a5d3ffa02 feat(nix): mark all Nix packages with the right source provenance
As GoReleaser focuses on binary packages wrapped in Nix, it is important
to mark their right source provenance, i.e. binary native code.
2023-10-30 12:23:14 -03:00
Carlos Alexandro Becker
7d21a1b553
test: update assertion 2023-10-17 17:50:57 +00:00
Carlos Alexandro Becker
91c8db3973
fix: github getbranch maxredirects 2023-10-17 15:52:41 +00:00
Carlos Alexandro Becker
1a243dfc0d
feat(deps): update go-github to v56
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-10-14 22:04:41 +00:00
Carlos Alexandro Becker
3cfefcc4ce
fix: decouple project_name guessing from the release pipe (#4335)
the release's defaults run before the project's does, so, usually the
github/gitlab/gitea names are set.

however, in some cases, the release's defaults might be skipped, in
which case they'll be empty.

this breaks things like `goreleaser changelog`, especially on non-go
repositories.

this pr tries to extract the project name from the git remote url in the
project's defaulter.

it might be possible now to move it to run before the release defaulter,
even.

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-10-14 18:59:07 -03:00
Carlos Alexandro Becker
6b00bb9664
refactor: use ordered.First (#4362) 2023-10-10 23:16:27 -03:00
Eng Zer Jun
37e3fdee55
refactor(tmpl): avoid unnecessary byte/string conversion (#4356)
We can use `(*regexp.Regexp).MatchString` instead of
`(*regexp.Regexp).Match([]byte(...))` to avoid unnecessary `[]byte`
conversions and reduce allocations. A one-line change for free
performance gain.

Benchmark:

```go
func BenchmarkMatch(b *testing.B) {
	for i := 0; i < b.N; i++ {
		if match := envOnlyRe.Match([]byte("{{ .Env.FOO }}")); !match {
			b.Fail()
		}
	}
}

func BenchmarkMatchString(b *testing.B) {
	for i := 0; i < b.N; i++ {
		if match := envOnlyRe.MatchString("{{ .Env.FOO }}"); !match {
			b.Fail()
		}
	}
}
```

Result:

```
goos: linux
goarch: amd64
pkg: github.com/goreleaser/goreleaser/internal/tmpl cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics
BenchmarkMatch-16          	 4320873	       381.2 ns/op	      16 B/op	       1 allocs/op
BenchmarkMatchString-16    	 5973543	       203.9 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/goreleaser/goreleaser/internal/tmpl	3.366s
```

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-10-10 09:54:44 -03:00
Carlos Alexandro Becker
7efeeb37c1
refactor: improve ssh key gen on tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-10-06 14:16:58 +00:00
Carlos Alexandro Becker
f3d2864db3
refactor: improve releases/scm.go a bit (#4334)
use `ApplyAll`

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-29 13:37:43 -03:00
Carlos Alexandro Becker
aba74099bc
style: invert if statement 2023-09-27 02:11:39 +00:00
Carlos Alexandro Becker
26fed97a0d
fix(git): error when pushing to a git repo with no branch
refs https://github.com/orgs/goreleaser/discussions/4321#discussioncomment-7108865
2023-09-26 11:20:15 +00:00
Carlos Alexandro Becker
82200491bd
fix: git client should respect specified branch (#4324)
refs https://github.com/orgs/goreleaser/discussions/4321
2023-09-24 17:07:10 -03:00
Carlos Alexandro Becker
530223c2ac
chore: improvel logs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-24 19:18:10 +00:00
Carlos Alexandro Becker
41ce3c0304
fix: git.ignore_tags not working (#4322)
also regex is not possible there currenctly, didnt realized it at the
time

refs #4255

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-23 02:37:48 -03:00
Carlos Alexandro Becker
d5a81df6c5
docs: improve tmpl.map
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 19:21:30 +00:00
Jo
24347358e9
feat: add map and indexOrDefault template functions (#4317)
Add a new function `map` to template functions.

`map` creates a map from a list of pairs of key values, then you can
convert a key to a value using `.Get`. This simplifies writing
key-mapping templates. For example, the defaule `archives.name_template`

```yaml
name_template: >-
    {{ .ProjectName }}_
    {{- title .Os }}_
    {{- if eq .Arch "amd64" }}x86_64
    {{- else if eq .Arch "386" }}i386
    {{- else }}{{ .Arch }}{{ end }}
    {{- if .Arm }}v{{ .Arm }}{{ end }}
```

becomes

```yaml
name_template: >-
  {{ $arch := map "amd64" "x86_64" "386" "i386" -}}
  {{ .ProjectName }}_
  {{- title .OS }}_
  {{- $arch.Get .Arch .Arch }}
  {{- if .Arm }}v{{ .Arm }}{{ end }}
```

---------

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 16:03:46 -03:00
Carlos Alexandro Becker
bedf38cae6
fix(skips): print all steps that will be skipped (#4319)
this will log everything that's being skipped in the beginning of the
release process.

also added some tests to `skips`

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 13:15:32 -03:00
Carlos Alexandro Becker
08d63aa5ff
fix(skips): print all steps that will be skipped 2023-09-20 15:03:46 +00:00
Carlos Alexandro Becker
7e638371fd
chore(winget): add comment
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-09-20 15:03:45 +00:00
Carlos Alexandro Becker
a84f8246c2
test: fix nfpm test after update 2023-09-20 14:15:08 +00:00
Carlos Alexandro Becker
5df77d20a0
test: fix broken tests 2023-09-17 18:11:20 +00:00
Carlos Alexandro Becker
cd2feb3c81
fix(sbom): syft might fail on windows (#4301)
the paths of the artifacts always use forward slashes, and the logic to
handle the relative path stuff inside the sbom pipe did not account for
that.

running the paths through `filepath.Clean` beforehand fixes it.

also improved yamlschema a little bit :) 

closes #4289
2023-09-17 14:23:04 -03:00
Carlos Alexandro Becker
8ef8babedf
feat(winget): support dependencies (#4299)
closes #4296
2023-09-17 14:22:39 -03:00
Carlos Alexandro Becker
0fe02a136a
fix(git): ignore_tags should ignore empty 2023-09-17 17:03:02 +00:00
Carlos Alexandro Becker
16d84c5973
feat: skip pre build hooks 2023-09-17 16:59:34 +00:00