1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-26 04:22:05 +02:00

1530 Commits

Author SHA1 Message Date
Carlos Alexandro Becker
6f598dc9b0
refactor(brew): use cases.Title instead of strings.Title
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-11-29 23:12:46 -03:00
Carlos Alexandro Becker
a09a0d7018
fix(ko): error finishing with . 2023-11-29 23:12:07 -03:00
Carlos Alexandro Becker
d0d088dee7
test: fix 2023-11-29 22:40:10 -03:00
Carlos Alexandro Becker
1ec5245f51
test: improve brittle tests 2023-11-29 22:25:14 -03:00
Carlos Alexandro Becker
bd7933d185
feat: improve project and build hooks error handling
closes #4451
2023-11-29 22:01:13 -03:00
Carlos Alexandro Becker
25a054c5e1
feat: improve --single-target (#4442)
closes #4437 
closes #4426

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2023-11-27 18:29:50 -03:00
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