1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-25 21:29:14 +02:00

fix: artifact filter should check if default when builder is zig

It shouldn't happen, but this makes it a bit safer.
This commit is contained in:
Carlos Alexandro Becker 2024-11-28 22:14:58 -03:00
parent e6dc91cf05
commit 898c62c690
No known key found for this signature in database
2 changed files with 24 additions and 9 deletions

View File

@ -20,6 +20,7 @@ import (
"sync"
"github.com/caarlos0/log"
"github.com/goreleaser/goreleaser/v2/internal/experimental"
"golang.org/x/crypto/blake2b"
"golang.org/x/crypto/blake2s"
"golang.org/x/crypto/sha3"
@ -470,7 +471,7 @@ func ByGoarm(s string) Filter {
return func(a *Artifact) bool {
switch ExtraOr(*a, ExtraBuilder, "") {
case "zig":
return true
return s == experimental.DefaultGOARM()
default:
return a.Goarm == s
}
@ -482,7 +483,7 @@ func ByGoamd64(s string) Filter {
return func(a *Artifact) bool {
switch ExtraOr(*a, ExtraBuilder, "") {
case "zig":
return true
return s == "v1"
default:
return a.Goamd64 == s
}

View File

@ -60,6 +60,9 @@ func TestAdd(t *testing.T) {
}
func TestFilter(t *testing.T) {
zig := map[string]any{
ExtraBuilder: "zig",
}
data := []*Artifact{
{
Name: "foo",
@ -71,6 +74,11 @@ func TestFilter(t *testing.T) {
Goarch: "amd64",
Goamd64: "v1",
},
{
Name: "bar",
Goarch: "amd64",
Extra: zig,
},
{
Name: "bar",
Goarch: "amd64",
@ -87,8 +95,14 @@ func TestFilter(t *testing.T) {
Goamd64: "v4",
},
{
Name: "foobar",
Goarm: "6",
Name: "foobar",
Goarch: "arm",
Goarm: "6",
},
{
Name: "foobar",
Goarch: "arm",
Extra: zig,
},
{
Name: "check",
@ -123,24 +137,24 @@ func TestFilter(t *testing.T) {
require.Len(t, artifacts.Filter(ByGoos("linux")).items, 1)
require.Len(t, artifacts.Filter(ByGoos("darwin")).items, 2)
require.Len(t, artifacts.Filter(ByGoarch("amd64")).items, 4)
require.Len(t, artifacts.Filter(ByGoarch("amd64")).items, 5)
require.Empty(t, artifacts.Filter(ByGoarch("386")).items)
require.Len(t, artifacts.Filter(ByGoamd64("v1")).items, 1)
require.Len(t, artifacts.Filter(And(ByGoarch("amd64"), ByGoamd64("v1"))).items, 2)
require.Len(t, artifacts.Filter(ByGoamd64("v2")).items, 1)
require.Len(t, artifacts.Filter(ByGoamd64("v3")).items, 1)
require.Len(t, artifacts.Filter(ByGoamd64("v4")).items, 1)
require.Len(t, artifacts.Filter(ByGoarm("6")).items, 1)
require.Len(t, artifacts.Filter(And(ByGoarch("arm"), ByGoarm("6"))).items, 2)
require.Empty(t, artifacts.Filter(ByGoarm("7")).items)
require.Len(t, artifacts.Filter(ByType(Checksum)).items, 2)
require.Empty(t, artifacts.Filter(ByType(Binary)).items)
require.Len(t, artifacts.Filter(OnlyReplacingUnibins).items, 9)
require.Len(t, artifacts.Filter(OnlyReplacingUnibins).items, 11)
require.Len(t, artifacts.Filter(And(OnlyReplacingUnibins, ByGoos("darwin"))).items, 1)
require.Len(t, artifacts.Filter(nil).items, 10)
require.Len(t, artifacts.Filter(nil).items, 12)
require.Len(t, artifacts.Filter(
And(