Skip to content

Commit 9657d20

Browse files
dmitshurgopherbot
authored andcommitted
internal/releasetargets: add openbsd/ppc64 target for Go 1.22 onwards
The release target list has two underlying sources: the allReleases map and the allPorts map. The former is a small curated map, mostly used to indicate which ports are first-class, and to set a few port properties. The latter is generated from 'go tool dist list' output for each major Go release. Unfortunately, the logic in TargetsForGo1Point ended up not taking into account that CL 547935 added allports/go1.22.txt with the openbsd/ppc64 port in it because the allReleases map didn't have an entry for go1.22. As a result, we haven't been making releases for the openbsd/ppc64 port as intended. :( Fix this by making sortedReleases consult both sources. For golang/go#40561. For golang/go#56001. Change-Id: Icbabad6f7e2920c1b24a69e309d65aea77c9c461 Reviewed-on: https://go-review.googlesource.com/c/build/+/585216 LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Dmitri Shuralyov <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
1 parent fbb60e3 commit 9657d20

File tree

3 files changed

+107
-4
lines changed

3 files changed

+107
-4
lines changed

internal/releasetargets/releases.txt

+95
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,99 @@ windows-arm64 windows arm64 (cross-compiled via distpack)
8989

9090

9191

92+
Targets for release 1.22
93+
================================================================================
94+
aix-ppc64 aix ppc64 (cross-compiled via distpack)
95+
96+
darwin-amd64 darwin amd64 (cross-compiled via distpack)
97+
First class port, Minimum macOS version is 10.15
98+
99+
darwin-arm64 darwin arm64 (cross-compiled via distpack)
100+
First class port, Minimum macOS version is 11
101+
102+
dragonfly-amd64 dragonfly amd64 (cross-compiled via distpack)
103+
104+
freebsd-386 freebsd 386 (cross-compiled via distpack)
105+
106+
freebsd-amd64 freebsd amd64 (cross-compiled via distpack)
107+
108+
freebsd-arm freebsd arm (cross-compiled via distpack)
109+
110+
freebsd-arm64 freebsd arm64 (cross-compiled via distpack)
111+
112+
freebsd-riscv64 freebsd riscv64 (cross-compiled via distpack)
113+
114+
illumos-amd64 illumos amd64 (cross-compiled via distpack)
115+
116+
linux-386 linux 386 (cross-compiled via distpack)
117+
First class port
118+
119+
linux-amd64 linux amd64 (cross-compiled via distpack)
120+
First class port
121+
122+
linux-arm64 linux arm64 (cross-compiled via distpack)
123+
First class port
124+
125+
linux-armv6l linux arm (cross-compiled via distpack)
126+
First class port
127+
Extra env: ["GOARM=6"]
128+
129+
linux-loong64 linux loong64 (cross-compiled via distpack)
130+
131+
linux-mips linux mips (cross-compiled via distpack)
132+
133+
linux-mips64 linux mips64 (cross-compiled via distpack)
134+
135+
linux-mips64le linux mips64le (cross-compiled via distpack)
136+
137+
linux-mipsle linux mipsle (cross-compiled via distpack)
138+
139+
linux-ppc64 linux ppc64 (cross-compiled via distpack)
140+
141+
linux-ppc64le linux ppc64le (cross-compiled via distpack)
142+
143+
linux-riscv64 linux riscv64 (cross-compiled via distpack)
144+
145+
linux-s390x linux s390x (cross-compiled via distpack)
146+
147+
netbsd-386 netbsd 386 (cross-compiled via distpack)
148+
149+
netbsd-amd64 netbsd amd64 (cross-compiled via distpack)
150+
151+
netbsd-arm netbsd arm (cross-compiled via distpack)
152+
153+
netbsd-arm64 netbsd arm64 (cross-compiled via distpack)
154+
155+
openbsd-386 openbsd 386 (cross-compiled via distpack)
156+
157+
openbsd-amd64 openbsd amd64 (cross-compiled via distpack)
158+
159+
openbsd-arm openbsd arm (cross-compiled via distpack)
160+
161+
openbsd-arm64 openbsd arm64 (cross-compiled via distpack)
162+
163+
openbsd-ppc64 openbsd ppc64 (cross-compiled via distpack)
164+
165+
plan9-386 plan9 386 (cross-compiled via distpack)
166+
167+
plan9-amd64 plan9 amd64 (cross-compiled via distpack)
168+
169+
plan9-arm plan9 arm (cross-compiled via distpack)
170+
171+
solaris-amd64 solaris amd64 (cross-compiled via distpack)
172+
173+
windows-386 windows 386 (cross-compiled via distpack)
174+
First class port
175+
176+
windows-amd64 windows amd64 (cross-compiled via distpack)
177+
First class port
178+
179+
windows-arm windows arm (cross-compiled via distpack)
180+
181+
windows-arm64 windows arm64 (cross-compiled via distpack)
182+
183+
184+
92185
Targets for release 1.23
93186
================================================================================
94187
aix-ppc64 aix ppc64 (cross-compiled via distpack)
@@ -160,6 +253,8 @@ openbsd-arm openbsd arm (cross-compiled via distpack)
160253

161254
openbsd-arm64 openbsd arm64 (cross-compiled via distpack)
162255

256+
openbsd-ppc64 openbsd ppc64 (cross-compiled via distpack)
257+
163258
plan9-386 plan9 386 (cross-compiled via distpack)
164259

165260
plan9-amd64 plan9 amd64 (cross-compiled via distpack)

internal/releasetargets/releasetargets.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"embed"
99
"fmt"
1010
"io/fs"
11+
"slices"
1112
"sort"
1213
"strings"
1314
"sync"
@@ -140,8 +141,11 @@ func sortedReleases() []int {
140141
for rel := range allReleases {
141142
releases = append(releases, rel)
142143
}
144+
for rel := range allPorts {
145+
releases = append(releases, rel)
146+
}
143147
sort.Ints(releases)
144-
return releases
148+
return slices.Compact(releases)
145149
}
146150

147151
var unbuildableOSs = map[string]bool{

internal/releasetargets/releasetargets_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ import (
1818
var update = flag.Bool("update", false, "controls whether to update releases.txt")
1919

2020
func TestReleaseTargets(t *testing.T) {
21-
out := &bytes.Buffer{}
22-
for _, release := range sortedReleases() {
23-
printRelease(out, release, TargetsForGo1Point(release))
21+
releases := sortedReleases()
22+
if len(releases) < 3 {
23+
t.Errorf("sortedReleases returned %v (len %d); allReleases map and allports/go1.n.txt files are expected to cover a minimum of 3 releases (prev + curr + tip)", releases, len(releases))
24+
}
25+
var out bytes.Buffer
26+
for _, rel := range releases {
27+
printRelease(&out, rel, TargetsForGo1Point(rel))
2428
}
2529
if *update {
2630
if err := os.WriteFile("releases.txt", out.Bytes(), 0); err != nil {

0 commit comments

Comments
 (0)