зеркало из https://github.com/golang/build.git
all: add linux-ppc64le-power10-osu builder
This builder requires a patched bootstrap toolchain to accept GOPPC64=power10. Likewise, this folds in a change to update the container images to ubuntu 20.04. This is and has been running on the existing ppc64le builders for a couple months already. Change-Id: Ia86cb711c99c0d8ab5f9de0ae50129fe11e6ccab Reviewed-on: https://go-review.googlesource.com/c/build/+/454515 Run-TryBot: Paul Murphy <murp@ibm.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Auto-Submit: Carlos Amedee <carlos@golang.org>
This commit is contained in:
Родитель
82784194d0
Коммит
3a7ac76259
|
@ -171,6 +171,8 @@ Download:
|
||||||
cmd.Args = append(cmd.Args, reverseHostTypeArgs(buildEnv)...)
|
cmd.Args = append(cmd.Args, reverseHostTypeArgs(buildEnv)...)
|
||||||
cmd.Args = append(cmd.Args, os.ExpandEnv("--workdir=${WORKDIR}"))
|
cmd.Args = append(cmd.Args, os.ExpandEnv("--workdir=${WORKDIR}"))
|
||||||
cmd.Args = append(cmd.Args, os.ExpandEnv("--hostname=${GO_BUILDER_ENV}"))
|
cmd.Args = append(cmd.Args, os.ExpandEnv("--hostname=${GO_BUILDER_ENV}"))
|
||||||
|
case "host-linux-ppc64le-power10-osu":
|
||||||
|
cmd.Args = append(cmd.Args, reverseHostTypeArgs(buildEnv)...)
|
||||||
case "host-linux-ppc64le-power9-osu":
|
case "host-linux-ppc64le-power9-osu":
|
||||||
cmd.Args = append(cmd.Args, reverseHostTypeArgs(buildEnv)...)
|
cmd.Args = append(cmd.Args, reverseHostTypeArgs(buildEnv)...)
|
||||||
case "host-linux-ppc64le-osu": // power8
|
case "host-linux-ppc64le-osu": // power8
|
||||||
|
|
|
@ -28,77 +28,79 @@ var slowBotAliases = map[string]string{
|
||||||
// Known missing builders:
|
// Known missing builders:
|
||||||
"ios-amd64": "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.
|
"ios-amd64": "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.
|
||||||
|
|
||||||
"386": "linux-386",
|
"386": "linux-386",
|
||||||
"aix": "aix-ppc64",
|
"aix": "aix-ppc64",
|
||||||
"amd64": "linux-amd64",
|
"amd64": "linux-amd64",
|
||||||
"android": "android-amd64-emu",
|
"android": "android-amd64-emu",
|
||||||
"android-386": "android-386-emu",
|
"android-386": "android-386-emu",
|
||||||
"android-amd64": "android-amd64-emu",
|
"android-amd64": "android-amd64-emu",
|
||||||
"android-arm": "android-arm-corellium",
|
"android-arm": "android-arm-corellium",
|
||||||
"android-arm64": "android-arm64-corellium",
|
"android-arm64": "android-arm64-corellium",
|
||||||
"arm": "linux-arm-aws",
|
"arm": "linux-arm-aws",
|
||||||
"arm64": "linux-arm64",
|
"arm64": "linux-arm64",
|
||||||
"darwin": "darwin-amd64-12_0",
|
"darwin": "darwin-amd64-12_0",
|
||||||
"darwin-amd64": "darwin-amd64-12_0",
|
"darwin-amd64": "darwin-amd64-12_0",
|
||||||
"darwin-arm64": "darwin-arm64-12",
|
"darwin-arm64": "darwin-arm64-12",
|
||||||
"ios-arm64": "ios-arm64-corellium",
|
"ios-arm64": "ios-arm64-corellium",
|
||||||
"dragonfly": "dragonfly-amd64-622",
|
"dragonfly": "dragonfly-amd64-622",
|
||||||
"dragonfly-amd64": "dragonfly-amd64-622",
|
"dragonfly-amd64": "dragonfly-amd64-622",
|
||||||
"freebsd": "freebsd-amd64-13_0",
|
"freebsd": "freebsd-amd64-13_0",
|
||||||
"freebsd-386": "freebsd-386-13_0",
|
"freebsd-386": "freebsd-386-13_0",
|
||||||
"freebsd-amd64": "freebsd-amd64-13_0",
|
"freebsd-amd64": "freebsd-amd64-13_0",
|
||||||
"freebsd-arm": "freebsd-arm-paulzhol",
|
"freebsd-arm": "freebsd-arm-paulzhol",
|
||||||
"freebsd-arm64": "freebsd-arm64-dmgk",
|
"freebsd-arm64": "freebsd-arm64-dmgk",
|
||||||
"freebsd-riscv64": "freebsd-riscv64-unmatched",
|
"freebsd-riscv64": "freebsd-riscv64-unmatched",
|
||||||
"illumos": "illumos-amd64",
|
"illumos": "illumos-amd64",
|
||||||
"ios": "ios-arm64-corellium",
|
"ios": "ios-arm64-corellium",
|
||||||
"js": "js-wasm",
|
"js": "js-wasm",
|
||||||
"linux": "linux-amd64",
|
"linux": "linux-amd64",
|
||||||
"linux-arm": "linux-arm-aws",
|
"linux-arm": "linux-arm-aws",
|
||||||
"linux-loong64": "linux-loong64-3a5000",
|
"linux-loong64": "linux-loong64-3a5000",
|
||||||
"linux-mips": "linux-mips-rtrk",
|
"linux-mips": "linux-mips-rtrk",
|
||||||
"linux-mips64": "linux-mips64-rtrk",
|
"linux-mips64": "linux-mips64-rtrk",
|
||||||
"linux-mips64le": "linux-mips64le-rtrk",
|
"linux-mips64le": "linux-mips64le-rtrk",
|
||||||
"linux-mipsle": "linux-mipsle-rtrk",
|
"linux-mipsle": "linux-mipsle-rtrk",
|
||||||
"linux-ppc64": "linux-ppc64-sid-buildlet",
|
"linux-ppc64": "linux-ppc64-sid-buildlet",
|
||||||
"linux-ppc64le": "linux-ppc64le-buildlet",
|
"linux-ppc64le": "linux-ppc64le-buildlet",
|
||||||
"linux-ppc64le-power9": "linux-ppc64le-power9osu",
|
"linux-ppc64le-power9": "linux-ppc64le-power9osu",
|
||||||
"linux-riscv64": "linux-riscv64-unmatched",
|
"linux-ppc64le-power10": "linux-ppc64le-power10osu",
|
||||||
"linux-s390x": "linux-s390x-ibm",
|
"linux-riscv64": "linux-riscv64-unmatched",
|
||||||
"longtest": "linux-amd64-longtest",
|
"linux-s390x": "linux-s390x-ibm",
|
||||||
"loong64": "linux-loong64-3a5000",
|
"longtest": "linux-amd64-longtest",
|
||||||
"mips": "linux-mips-rtrk",
|
"loong64": "linux-loong64-3a5000",
|
||||||
"mips64": "linux-mips64-rtrk",
|
"mips": "linux-mips-rtrk",
|
||||||
"mips64le": "linux-mips64le-rtrk",
|
"mips64": "linux-mips64-rtrk",
|
||||||
"mipsle": "linux-mipsle-rtrk",
|
"mips64le": "linux-mips64le-rtrk",
|
||||||
"netbsd": "netbsd-amd64-9_3",
|
"mipsle": "linux-mipsle-rtrk",
|
||||||
"netbsd-386": "netbsd-386-9_3",
|
"netbsd": "netbsd-amd64-9_3",
|
||||||
"netbsd-amd64": "netbsd-amd64-9_3",
|
"netbsd-386": "netbsd-386-9_3",
|
||||||
"netbsd-arm": "netbsd-arm-bsiegert",
|
"netbsd-amd64": "netbsd-amd64-9_3",
|
||||||
"netbsd-arm64": "netbsd-arm64-bsiegert",
|
"netbsd-arm": "netbsd-arm-bsiegert",
|
||||||
"nocgo": "linux-amd64-nocgo",
|
"netbsd-arm64": "netbsd-arm64-bsiegert",
|
||||||
"openbsd": "openbsd-amd64-70",
|
"nocgo": "linux-amd64-nocgo",
|
||||||
"openbsd-386": "openbsd-386-70",
|
"openbsd": "openbsd-amd64-70",
|
||||||
"openbsd-amd64": "openbsd-amd64-70",
|
"openbsd-386": "openbsd-386-70",
|
||||||
"openbsd-arm": "openbsd-arm-jsing",
|
"openbsd-amd64": "openbsd-amd64-70",
|
||||||
"openbsd-arm64": "openbsd-arm64-jsing",
|
"openbsd-arm": "openbsd-arm-jsing",
|
||||||
"openbsd-mips64": "openbsd-mips64-jsing",
|
"openbsd-arm64": "openbsd-arm64-jsing",
|
||||||
"plan9": "plan9-arm",
|
"openbsd-mips64": "openbsd-mips64-jsing",
|
||||||
"plan9-386": "plan9-386-0intro",
|
"plan9": "plan9-arm",
|
||||||
"plan9-amd64": "plan9-amd64-0intro",
|
"plan9-386": "plan9-386-0intro",
|
||||||
"ppc64": "linux-ppc64-sid-buildlet",
|
"plan9-amd64": "plan9-amd64-0intro",
|
||||||
"ppc64le": "linux-ppc64le-buildlet",
|
"ppc64": "linux-ppc64-sid-buildlet",
|
||||||
"ppc64lep9": "linux-ppc64le-power9osu",
|
"ppc64le": "linux-ppc64le-buildlet",
|
||||||
"riscv64": "linux-riscv64-unmatched",
|
"ppc64lep9": "linux-ppc64le-power9osu",
|
||||||
"s390x": "linux-s390x-ibm",
|
"ppc64lep10": "linux-ppc64le-power10osu",
|
||||||
"solaris": "solaris-amd64-oraclerel",
|
"riscv64": "linux-riscv64-unmatched",
|
||||||
"solaris-amd64": "solaris-amd64-oraclerel",
|
"s390x": "linux-s390x-ibm",
|
||||||
"wasm": "js-wasm",
|
"solaris": "solaris-amd64-oraclerel",
|
||||||
"windows": "windows-amd64-2016",
|
"solaris-amd64": "solaris-amd64-oraclerel",
|
||||||
"windows-386": "windows-386-2008",
|
"wasm": "js-wasm",
|
||||||
"windows-amd64": "windows-amd64-2016",
|
"windows": "windows-amd64-2016",
|
||||||
"windows-arm": "windows-arm-zx2c4",
|
"windows-386": "windows-386-2008",
|
||||||
"windows-arm64": "windows-arm64-11",
|
"windows-amd64": "windows-amd64-2016",
|
||||||
|
"windows-arm": "windows-arm-zx2c4",
|
||||||
|
"windows-arm64": "windows-arm64-11",
|
||||||
}
|
}
|
||||||
|
|
||||||
// Builders are the different build configurations.
|
// Builders are the different build configurations.
|
||||||
|
@ -389,6 +391,17 @@ var Hosts = map[string]*HostConfig{
|
||||||
SSHUsername: "root",
|
SSHUsername: "root",
|
||||||
HermeticReverse: true,
|
HermeticReverse: true,
|
||||||
},
|
},
|
||||||
|
"host-linux-ppc64le-power10-osu": {
|
||||||
|
Notes: "Ubuntu 20.04; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl",
|
||||||
|
Owners: []*gophers.Person{gh("pmur")},
|
||||||
|
IsReverse: true,
|
||||||
|
// GOPPC64=power10 is only supported in go1.20 and later. The container provides a patched boostrap compiler.
|
||||||
|
env: []string{
|
||||||
|
"GOPPC64=power10",
|
||||||
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
|
||||||
|
SSHUsername: "root",
|
||||||
|
HermeticReverse: true,
|
||||||
|
},
|
||||||
"host-linux-ppc64le-power9-osu": {
|
"host-linux-ppc64le-power9-osu": {
|
||||||
Notes: "Ubuntu 20.04; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl",
|
Notes: "Ubuntu 20.04; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl",
|
||||||
Owners: []*gophers.Person{gh("pmur")},
|
Owners: []*gophers.Person{gh("pmur")},
|
||||||
|
@ -2638,6 +2651,13 @@ func init() {
|
||||||
distTestAdjust: ppc64DistTestPolicy,
|
distTestAdjust: ppc64DistTestPolicy,
|
||||||
env: []string{"GO_TEST_TIMEOUT_SCALE=2"}, // see go.dev/issues/44422
|
env: []string{"GO_TEST_TIMEOUT_SCALE=2"}, // see go.dev/issues/44422
|
||||||
})
|
})
|
||||||
|
addBuilder(BuildConfig{
|
||||||
|
Name: "linux-ppc64le-power10osu",
|
||||||
|
HostType: "host-linux-ppc64le-power10-osu",
|
||||||
|
FlakyNet: true,
|
||||||
|
distTestAdjust: ppc64DistTestPolicy,
|
||||||
|
env: []string{"GO_TEST_TIMEOUT_SCALE=2"}, // see go.dev/issues/44422
|
||||||
|
})
|
||||||
addBuilder(BuildConfig{
|
addBuilder(BuildConfig{
|
||||||
Name: "linux-arm64-aws",
|
Name: "linux-arm64-aws",
|
||||||
HostType: "host-linux-arm64-aws",
|
HostType: "host-linux-arm64-aws",
|
||||||
|
@ -3044,7 +3064,7 @@ func noTestDirAndNoReboot(run bool, distTest string, isNormalTry bool) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ppc64DistTestPolicy is a distTestAdjust policy function
|
// ppc64DistTestPolicy is a distTestAdjust policy function
|
||||||
// that's shared by linux-ppc64le, -ppc64le-power9osu, and -ppc64.
|
// that's shared by linux-ppc64le, -ppc64le-power{9,10}-osu, and -ppc64.
|
||||||
func ppc64DistTestPolicy(run bool, distTest string, isNormalTry bool) bool {
|
func ppc64DistTestPolicy(run bool, distTest string, isNormalTry bool) bool {
|
||||||
if distTest == "reboot" {
|
if distTest == "reboot" {
|
||||||
// Skip test. It seems to use a lot of memory?
|
// Skip test. It seems to use a lot of memory?
|
||||||
|
|
|
@ -2,20 +2,35 @@
|
||||||
# Use of this source code is governed by a BSD-style
|
# Use of this source code is governed by a BSD-style
|
||||||
# license that can be found in the LICENSE file.
|
# license that can be found in the LICENSE file.
|
||||||
|
|
||||||
FROM debian:buster
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install --yes \
|
apt-get install --yes \
|
||||||
gcc curl strace \
|
gcc gdb curl strace \
|
||||||
ca-certificates netbase \
|
ca-certificates netbase \
|
||||||
procps lsof psmisc \
|
procps lsof psmisc \
|
||||||
openssh-server
|
openssh-server \
|
||||||
|
patch
|
||||||
|
|
||||||
RUN mkdir /usr/local/go-bootstrap && \
|
# For GOPPC64=power10 support. This hack can be removed once the bootstrap
|
||||||
curl --silent https://storage.googleapis.com/go-builder-data/gobootstrap-linux-ppc64le.tar.gz | \
|
# minimum reachs go1.20.
|
||||||
tar -C /usr/local/go-bootstrap -zxv
|
# P8 and P9 will use the default bootstrap toolchain downloaded during CI.
|
||||||
|
ADD p10.patch /
|
||||||
|
RUN mkdir -p /usr/local && \
|
||||||
|
curl --silent -L https://go.dev/dl/go1.17.13.linux-ppc64le.tar.gz --output /go.tar.gz && \
|
||||||
|
tar -C /usr/local/ -zxf /go.tar.gz && \
|
||||||
|
mv /usr/local/go /usr/local/go-bootstrap && \
|
||||||
|
tar -C /usr/local/ -zxf /go.tar.gz && \
|
||||||
|
mv /usr/local/go /usr/local/go-tmp && \
|
||||||
|
cd /usr/local/go-bootstrap && patch -p1 < /p10.patch && \
|
||||||
|
cd /usr/local/go-bootstrap/src && GOROOT_BOOTSTRAP=/usr/local/go-tmp GOOS=linux GOARCH=ppc64le ./bootstrap.bash && \
|
||||||
|
/usr/local/go-tmp/bin/go install golang.org/x/build/cmd/genbootstrap@v0.0.0-20221130230848-98eb5685978b && \
|
||||||
|
cd /usr/local && /root/go/bin/genbootstrap -v -skip_build go-linux-ppc64le-bootstrap linux-ppc64le && \
|
||||||
|
rm -rf /usr/local/go-tmp /usr/local/go-bootstrap /usr/local/go-linux-ppc64le-bootstrap /usr/local/go-linux-ppc64le-bootstrap.tbz && \
|
||||||
|
mkdir /usr/local/go-bootstrap && tar -C /usr/local/go-bootstrap -xf /tmp/genbootstrap-*/gobootstrap-linux-ppc64le-go*.tar.gz && \
|
||||||
|
rm -rf /usr/local/go-tmp /root/go /root/.cache /p10.patch /go.tar.gz /tmp/* && apt-get remove --yes patch
|
||||||
|
|
||||||
ENV GOROOT_BOOTSTRAP /usr/local/go-bootstrap
|
ENV GOROOT_BOOTSTRAP /usr/local/go-bootstrap
|
||||||
ADD stage0 /usr/local/bin/stage0
|
ADD stage0 /usr/local/bin/stage0
|
||||||
|
|
|
@ -3,3 +3,6 @@ power8:
|
||||||
|
|
||||||
power9:
|
power9:
|
||||||
./setup-remote.sh ubuntu@140.211.169.171 host-linux-ppc64le-power9-osu
|
./setup-remote.sh ubuntu@140.211.169.171 host-linux-ppc64le-power9-osu
|
||||||
|
|
||||||
|
power10:
|
||||||
|
./setup-remote.sh ubuntu@go-le-p10-1.osuosl.org host-linux-ppc64le-power10-osu
|
||||||
|
|
|
@ -8,6 +8,11 @@ Filing tickets: https://support.osuosl.org/
|
||||||
Ticket password: go/pw-osuosl-ppc64
|
Ticket password: go/pw-osuosl-ppc64
|
||||||
|
|
||||||
Machines:
|
Machines:
|
||||||
|
* go-le-p10-1: (30 GB RAM, 50 GB disk, 20 cores, POWER10)
|
||||||
|
Linux go-le-p10-1 5.15.0-53-generic #59-Ubuntu SMP Mon Oct 17 18:55:27 UTC 2022 ppc64le ppc64le ppc64le GNU/Linux
|
||||||
|
|
||||||
|
ssh -i ~/.ssh/id_ed25519_golang1 ubuntu@go-le-p10-1.osuosl.org
|
||||||
|
(key from go/go-builders-ssh)
|
||||||
|
|
||||||
* go-le-bionic-1: (30 GB RAM, 50 GB disk, 20 cores, POWER9)
|
* go-le-bionic-1: (30 GB RAM, 50 GB disk, 20 cores, POWER9)
|
||||||
Linux go-le-bionic-2 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 13:41:48 UTC 2022 ppc64le ppc64le ppc64le GNU/Linux
|
Linux go-le-bionic-2 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 13:41:48 UTC 2022 ppc64le ppc64le ppc64le GNU/Linux
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
diff --git a/src/internal/buildcfg/cfg.go b/src/internal/buildcfg/cfg.go
|
||||||
|
index 1cc3d3d..e8553e8 100644
|
||||||
|
--- a/src/internal/buildcfg/cfg.go
|
||||||
|
+++ b/src/internal/buildcfg/cfg.go
|
||||||
|
@@ -110,8 +110,10 @@
|
||||||
|
return 8
|
||||||
|
case "power9":
|
||||||
|
return 9
|
||||||
|
+ case "power10":
|
||||||
|
+ return 10
|
||||||
|
}
|
||||||
|
- Error = fmt.Errorf("invalid GOPPC64: must be power8, power9")
|
||||||
|
+ Error = fmt.Errorf("invalid GOPPC64: must be power8, power9, power10")
|
||||||
|
return int(defaultGOPPC64[len("power")] - '0')
|
||||||
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче