diff --git a/pkg/runtime/parse.go b/pkg/runtime/parse.go index edad1748c..440565046 100644 --- a/pkg/runtime/parse.go +++ b/pkg/runtime/parse.go @@ -8,28 +8,28 @@ import ( func allRuntimes() []*Runtime { return []*Runtime{ { - GOOS: "darwin", - GOARCH: "amd64", + GOOS: darwin, + GOARCH: amd64, }, { - GOOS: "darwin", - GOARCH: "arm64", + GOOS: darwin, + GOARCH: arm64, }, { - GOOS: "linux", - GOARCH: "amd64", + GOOS: linux, + GOARCH: amd64, }, { - GOOS: "linux", - GOARCH: "arm64", + GOOS: linux, + GOARCH: arm64, }, { - GOOS: "windows", - GOARCH: "amd64", + GOOS: windows, + GOARCH: amd64, }, { - GOOS: "windows", - GOARCH: "arm64", + GOOS: windows, + GOARCH: arm64, }, } } @@ -48,29 +48,29 @@ func GetRuntimes(env string) ([]*Runtime, error) { }, nil } switch o { - case "darwin", "linux", "windows": + case darwin, linux, windows: return []*Runtime{ { GOOS: o, - GOARCH: "amd64", + GOARCH: amd64, }, { GOOS: o, - GOARCH: "arm64", + GOARCH: arm64, }, }, nil - case "amd64", "arm64": + case amd64, arm64: return []*Runtime{ { - GOOS: "darwin", + GOOS: darwin, GOARCH: o, }, { - GOOS: "windows", + GOOS: windows, GOARCH: o, }, { - GOOS: "linux", + GOOS: linux, GOARCH: o, }, }, nil diff --git a/pkg/runtime/parse_internal_test.go b/pkg/runtime/parse_internal_test.go index 94b0b7496..ebb5ab78f 100644 --- a/pkg/runtime/parse_internal_test.go +++ b/pkg/runtime/parse_internal_test.go @@ -20,46 +20,46 @@ func TestGetRuntimesFromEnvs(t *testing.T) { //nolint:funlen }, { name: "all", - envs: []string{"darwin", "all"}, + envs: []string{darwin, "all"}, rts: allRuntimes(), }, { name: "darwin amd64", - envs: []string{"darwin", "amd64"}, + envs: []string{darwin, amd64}, rts: []*Runtime{ { - GOOS: "darwin", - GOARCH: "amd64", + GOOS: darwin, + GOARCH: amd64, }, { - GOOS: "darwin", - GOARCH: "arm64", + GOOS: darwin, + GOARCH: arm64, }, { - GOOS: "windows", - GOARCH: "amd64", + GOOS: windows, + GOARCH: amd64, }, { - GOOS: "linux", - GOARCH: "amd64", + GOOS: linux, + GOARCH: amd64, }, }, }, { name: "darwin linux/amd64", - envs: []string{"darwin", "linux/amd64"}, + envs: []string{darwin, "linux/amd64"}, rts: []*Runtime{ { - GOOS: "darwin", - GOARCH: "amd64", + GOOS: darwin, + GOARCH: amd64, }, { - GOOS: "darwin", - GOARCH: "arm64", + GOOS: darwin, + GOARCH: arm64, }, { - GOOS: "linux", - GOARCH: "amd64", + GOOS: linux, + GOARCH: amd64, }, }, }, diff --git a/pkg/runtime/runtime.go b/pkg/runtime/runtime.go index f94a33615..395a3cf92 100644 --- a/pkg/runtime/runtime.go +++ b/pkg/runtime/runtime.go @@ -6,6 +6,14 @@ import ( "runtime" ) +const ( + amd64 = "amd64" + arm64 = "arm64" + darwin = "darwin" + linux = "linux" + windows = "windows" +) + type Runtime struct { GOOS string GOARCH string @@ -26,7 +34,7 @@ func NewR() *Runtime { } func (rt *Runtime) IsWindows() bool { - return rt.GOOS == "windows" + return rt.GOOS == windows } func (rt *Runtime) Env() string { @@ -34,14 +42,14 @@ func (rt *Runtime) Env() string { } func (rt *Runtime) Arch(rosetta2, windowsARMEmulation bool) string { - if rt.GOARCH == "amd64" { - return "amd64" + if rt.GOARCH == amd64 { + return amd64 } - if rt.GOOS == "darwin" && rosetta2 { - return "amd64" + if rt.GOOS == darwin && rosetta2 { + return amd64 } if rt.IsWindows() && windowsARMEmulation { - return "amd64" + return amd64 } return rt.GOARCH } @@ -61,14 +69,14 @@ func goarch() string { } func GOOSList() []string { - return []string{"darwin", "linux", "windows"} + return []string{darwin, linux, windows} } func GOOSMap() map[string]struct{} { return map[string]struct{}{ - "darwin": {}, - "linux": {}, - "windows": {}, + darwin: {}, + linux: {}, + windows: {}, } } @@ -78,5 +86,5 @@ func IsOS(k string) bool { } func GOARCHList() []string { - return []string{"amd64", "arm64"} + return []string{amd64, arm64} }