Skip to content

Commit 8d3e133

Browse files
committed
remove runner labels which are no longer available (fix #452)
- `macos-12.0` - `macos-13.0` - `macos-14.0`
1 parent 1ba25a7 commit 8d3e133

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ test.yaml:5:11: character '\' is invalid for branch and tag names. only special
6060
|
6161
5 | - 'v\d+'
6262
| ^~~~
63-
test.yaml:10:28: label "linux-latest" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-14.0", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-13.0", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "macos-12.0", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]
63+
test.yaml:10:28: label "linux-latest" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]
6464
|
6565
10 | os: [macos-latest, linux-latest]
6666
| ^~~~~~~~~~~~~

rule_runner_label.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package actionlint
22

33
import (
44
"path"
5+
"sort"
56
"strings"
67
)
78

@@ -28,6 +29,15 @@ const (
2829
compatWindows2022
2930
)
3031

32+
func buildAllGitHubHostedRunnerLabels() []string {
33+
l := make([]string, 0, len(defaultRunnerOSCompats))
34+
for k := range defaultRunnerOSCompats {
35+
l = append(l, k)
36+
}
37+
sort.Strings(l)
38+
return l
39+
}
40+
3141
// https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
3242
var allGitHubHostedRunnerLabels = []string{
3343
"windows-latest",
@@ -52,17 +62,14 @@ var allGitHubHostedRunnerLabels = []string{
5262
"macos-14-xlarge",
5363
"macos-14-large",
5464
"macos-14",
55-
"macos-14.0",
5665
"macos-13-xl",
5766
"macos-13-xlarge",
5867
"macos-13-large",
5968
"macos-13",
60-
"macos-13.0",
6169
"macos-12-xl",
6270
"macos-12-xlarge",
6371
"macos-12-large",
6472
"macos-12",
65-
"macos-12.0",
6673
}
6774

6875
// https://docs.github.com/en/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow#using-default-labels-to-route-jobs
@@ -99,17 +106,14 @@ var defaultRunnerOSCompats = map[string]runnerOSCompat{
99106
"macos-14-xlarge": compatMacOS140XL,
100107
"macos-14-large": compatMacOS140L,
101108
"macos-14": compatMacOS140,
102-
"macos-14.0": compatMacOS140,
103109
"macos-13-xl": compatMacOS130XL,
104110
"macos-13-xlarge": compatMacOS130XL,
105111
"macos-13-large": compatMacOS130L,
106112
"macos-13": compatMacOS130,
107-
"macos-13.0": compatMacOS130,
108113
"macos-12-xl": compatMacOS120XL,
109114
"macos-12-xlarge": compatMacOS120XL,
110115
"macos-12-large": compatMacOS120L,
111116
"macos-12": compatMacOS120,
112-
"macos-12.0": compatMacOS120,
113117
"windows-latest": compatWindows2022,
114118
"windows-latest-8-cores": compatWindows2022,
115119
"windows-2022": compatWindows2022,

rule_runner_label_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestRuleRunnerLabelCheckLabels(t *testing.T) {
2424
},
2525
{
2626
what: "simple GH-hosted macOS runner label",
27-
labels: []string{"macos-14.0"},
27+
labels: []string{"macos-14"},
2828
},
2929
{
3030
what: "simple GH-hosted runner label in upper case",
@@ -40,7 +40,7 @@ func TestRuleRunnerLabelCheckLabels(t *testing.T) {
4040
},
4141
{
4242
what: "self-hosted all macOS runner labels",
43-
labels: []string{"self-hosted", "macOS", "macOS-latest", "macOS-14.0", "macOS-14"},
43+
labels: []string{"self-hosted", "macOS", "macOS-latest", "macOS-14"},
4444
},
4545
{
4646
what: "self-hosted Linux runner in upper case",

0 commit comments

Comments
 (0)