diff --git a/dashboard/builders.go b/dashboard/builders.go index 09e5196c..529942c7 100644 --- a/dashboard/builders.go +++ b/dashboard/builders.go @@ -110,511 +110,26 @@ var Builders = map[string]*BuildConfig{} // Hosts contains the names and configs of all the types of // buildlets. They can be VMs, containers, or dedicated machines. +// +// Please keep table sorted by map key. var Hosts = map[string]*HostConfig{ - "host-linux-amd64-bullseye": &HostConfig{ - Notes: "Debian Bullseye", - ContainerImage: "linux-x86-bullseye:latest", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", + "host-aix-ppc64-osuosl": { + Notes: "AIX 7.2 VM on OSU; run by Tony Reix", + Owners: []*gophers.Person{gh("trex58")}, + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/opt/freeware/lib/golang"}, }, - "host-linux-amd64-buster": &HostConfig{ - Notes: "Debian Buster", - ContainerImage: "linux-x86-buster:latest", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", - }, - "host-linux-amd64-stretch": &HostConfig{ - Notes: "Debian Stretch", - ContainerImage: "linux-x86-stretch:latest", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", - }, - "host-linux-amd64-stretch-vmx": &HostConfig{ - Notes: "Debian Stretch w/ Nested Virtualization (VMX CPU bit) enabled, for testing", - ContainerImage: "linux-x86-stretch:latest", + "host-android-amd64-emu": { + Notes: "Debian Buster w/ Android SDK + emulator (use nested virt)", + ContainerImage: "android-amd64-emu:bff27c0c9263", + KonletVMImage: "android-amd64-emu", NestedVirt: true, buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, SSHUsername: "root", }, - "host-linux-amd64-localdev": &HostConfig{ - IsReverse: true, - ExpectNum: 0, - Notes: "for localhost development of buildlets/gomote/coordinator only", - SSHUsername: os.Getenv("USER"), - }, - "host-js-wasm": &HostConfig{ - Notes: "Container with node.js for testing js/wasm.", - ContainerImage: "js-wasm:latest", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", - }, - "host-linux-s390x-cross": &HostConfig{ - Notes: "Container with s390x cross-compiler.", - ContainerImage: "linux-s390x-cross:latest", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - }, - "host-linux-amd64-alpine": &HostConfig{ - Notes: "Alpine container", - ContainerImage: "linux-x86-alpine:latest", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64-static", - env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"}, - SSHUsername: "root", - }, - "host-linux-amd64-clang": &HostConfig{ - Notes: "Container with clang.", - ContainerImage: "linux-x86-clang:latest", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", - }, - "host-linux-amd64-sid": &HostConfig{ - Notes: "Debian sid, updated occasionally.", - ContainerImage: "linux-x86-sid:latest", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, - SSHUsername: "root", - }, - "host-linux-amd64-fedora": &HostConfig{ - Notes: "Fedora 30", - ContainerImage: "linux-x86-fedora:latest", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", - env: []string{"GOROOT_BOOTSTRAP=/goboot"}, - SSHUsername: "root", - }, - "host-linux-riscv64-joelsing": &HostConfig{ - Notes: "SiFive HiFive Unleashed RISC-V board. 8 GB RAM, 4 cores.", - IsReverse: true, - ExpectNum: 1, - Owners: []*gophers.Person{gh("4a6f656c")}, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/goboot"}, - }, - "host-linux-riscv64-unmatched": &HostConfig{ - Notes: "SiFive HiFive Unmatched RISC-V board. 16 GB RAM, 4 cores.", - IsReverse: true, - ExpectNum: 2, - Owners: []*gophers.Person{gh("mengzhuo")}, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/goboot"}, - }, - "host-openbsd-amd64-68": &HostConfig{ - VMImage: "openbsd-amd64-68-v3", // v3 adds 009_exit syspatch; see go.dev/cl/278732. - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz", - Notes: "OpenBSD 6.8 (with 009_exit syspatch); GCE VM, built from build/env/openbsd-amd64", - SSHUsername: "gopher", - }, - "host-openbsd-386-68": &HostConfig{ - VMImage: "openbsd-386-68-v3", // v3 adds 009_exit syspatch; see go.dev/cl/278732. - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", - Notes: "OpenBSD 6.8 (with 009_exit syspatch); GCE VM, built from build/env/openbsd-386", - SSHUsername: "gopher", - }, - "host-openbsd-amd64-70": &HostConfig{ - VMImage: "openbsd-amd64-70", - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz", - Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-amd64", - SSHUsername: "gopher", - }, - "host-openbsd-386-70": &HostConfig{ - VMImage: "openbsd-386-70", - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", - Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-386", - SSHUsername: "gopher", - }, - "host-openbsd-386-70-n2d": &HostConfig{ - // This host config is only for the runtime team to use investigating golang/go#49209. - VMImage: "openbsd-386-70", - machineType: "n2d", // force AMD; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", - Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-386; AMD", - SSHUsername: "gopher", - }, - "host-openbsd-arm-joelsing": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, - Owners: []*gophers.Person{gh("4a6f656c")}, - }, - "host-openbsd-arm64-joelsing": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, - Owners: []*gophers.Person{gh("4a6f656c")}, - }, - "host-openbsd-mips64-joelsing": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, - Owners: []*gophers.Person{gh("4a6f656c")}, - }, - "host-freebsd-amd64-11_4": &HostConfig{ - VMImage: "freebsd-amd64-114", - machineType: "n2", // Intel only due to AMD memory corruption. See https://go.dev/cl/377474. - Notes: "FreeBSD 11.4; GCE VM, built from build/env/freebsd-amd64", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-freebsd-amd64-12_3": &HostConfig{ - VMImage: "freebsd-amd64-123-stable-20211230", - Notes: "FreeBSD 12.3; GCE VM, built from build/env/freebsd-amd64", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-freebsd-amd64-13_0": &HostConfig{ - VMImage: "freebsd-amd64-130-stable-20211230", - Notes: "FreeBSD 13.0; GCE VM, built from build/env/freebsd-amd64", - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-netbsd-amd64-9_0": &HostConfig{ - VMImage: "netbsd-amd64-9-0-2019q4", - Notes: "NetBSD 9.0; GCE VM is built from script in build/env/netbsd-amd64", - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64-2da6b33.tar.gz", - SSHUsername: "root", - }, - "host-netbsd-386-9_0": &HostConfig{ - VMImage: "netbsd-i386-9-0-2019q4", - Notes: "NetBSD 9.0; GCE VM is built from script in build/env/netbsd-386", - machineType: "n2", // force Intel; see go.dev/issue/49209 - buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.netbsd-386", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-386-0b3b511.tar.gz", - SSHUsername: "root", - }, - "host-netbsd-arm-bsiegert": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/usr/pkg/go112"}, - Owners: []*gophers.Person{gh("bsiegert")}, - }, - "host-netbsd-arm64-bsiegert": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/usr/pkg/go114"}, - Owners: []*gophers.Person{gh("bsiegert")}, - }, - "host-dragonfly-amd64-master": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "DragonFly BSD master, run by DragonFly team", - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, - SSHUsername: "root", - Owners: []*gophers.Person{gh("tuxillo")}, - }, - "host-freebsd-arm-paulzhol": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "Cubiboard2 1Gb RAM dual-core Cortex-A7 (Allwinner A20), FreeBSD 11.1-RELEASE", - env: []string{"GOROOT_BOOTSTRAP=/usr/home/paulzhol/go1.4"}, - Owners: []*gophers.Person{gh("paulzhol")}, - }, - "host-freebsd-arm64-dmgk": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "AWS EC2 a1.large 2 vCPU 4GiB RAM, FreeBSD 12.1-STABLE", - env: []string{"GOROOT_BOOTSTRAP=/usr/home/builder/gobootstrap"}, - Owners: []*gophers.Person{gh("dmgk")}, - }, - "host-plan9-arm-0intro": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "Raspberry Pi 3 Model B, Plan 9 from Bell Labs", - Owners: []*gophers.Person{gh("0intro")}, - }, - "host-plan9-amd64-0intro": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "QEMU VM, Plan 9 from Bell Labs, 9k kernel", - Owners: []*gophers.Person{gh("0intro")}, - }, - "host-plan9-386-0intro": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "QEMU VM, Plan 9 from Bell Labs", - Owners: []*gophers.Person{gh("0intro")}, - }, - "host-plan9-386-gce": &HostConfig{ - VMImage: "plan9-386-v7", - Notes: "Plan 9 from 0intro; GCE VM, built from build/env/plan9-386", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.plan9-386", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-plan9-386.tar.gz", - env: []string{"GO_TEST_TIMEOUT_SCALE=3"}, - }, - "host-windows-amd64-2008": &HostConfig{ - VMImage: "windows-amd64-server-2008r2-v7", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2008-newcc": &HostConfig{ - VMImage: "windows-amd64-server-2008r2-v8", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2012": &HostConfig{ - VMImage: "windows-amd64-server-2012r2-v7", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2012-newcc": &HostConfig{ - VMImage: "windows-amd64-server-2012r2-v8", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2016": &HostConfig{ - VMImage: "windows-amd64-server-2016-v7", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2016-big": &HostConfig{ - VMImage: "windows-amd64-server-2016-v7", - machineType: "e2-standard-16", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2016-newcc": &HostConfig{ - VMImage: "windows-amd64-server-2016-v8", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-amd64-2016-big-newcc": &HostConfig{ - VMImage: "windows-amd64-server-2016-v8", - machineType: "e2-standard-16", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", - SSHUsername: "gopher", - }, - "host-windows-arm64-zx2c4": &HostConfig{ - IsReverse: true, - ExpectNum: 0, - Owners: []*gophers.Person{gh("zx2c4")}, - env: []string{"GOROOT_BOOTSTRAP=C:\\Program Files (Arm)\\Go"}, - }, - "host-windows-arm64-10": &HostConfig{ - Notes: "macOS hosting Windows 10 in qemu with HVM acceleration.", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-windows-arm64-f22ec5.tar.gz", - IsReverse: true, - ExpectNum: 2, - }, - "host-windows-arm64-11": &HostConfig{ - Notes: "macOS hosting Windows 11 in qemu with HVM acceleration.", - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64", - goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-windows-arm64-f22ec5.tar.gz", - IsReverse: true, - ExpectNum: 5, - }, - "host-darwin-amd64-10_14": &HostConfig{ - IsReverse: true, - ExpectNum: 3, - Notes: "MacStadium macOS Mojave (10.14) VM under VMWare ESXi", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1 - }, - SSHUsername: "gopher", - HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate - }, - "host-darwin-amd64-10_15": &HostConfig{ - IsReverse: true, - ExpectNum: 3, - Notes: "MacStadium macOS Catalina (10.15) VM under VMWare ESXi", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1 - }, - SSHUsername: "gopher", - HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate - }, - "host-darwin-amd64-11_0": &HostConfig{ - IsReverse: true, - ExpectNum: 5, - Notes: "MacStadium macOS Big Sur (11.0) VM under VMWare ESXi", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.13.4 - }, - SSHUsername: "gopher", - HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate - }, - "host-darwin-amd64-12_0": &HostConfig{ - IsReverse: true, - ExpectNum: 5, - Notes: "MacStadium macOS Monterey (12.0) VM under VMWare ESXi", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.17.3 - }, - SSHUsername: "gopher", - HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate - }, - "host-darwin-arm64-11_0-toothrot": &HostConfig{ - IsReverse: true, - Notes: "macOS Big Sur (11) ARM64 (M1). Mac mini", - ExpectNum: 1, - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", - }, - SSHUsername: "gopher", - }, - "host-darwin-arm64-12_0-toothrot": &HostConfig{ - IsReverse: true, - ExpectNum: 1, - Notes: "macOS Big Sur (12) ARM64 (M1). Mac mini", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", - }, - SSHUsername: "gopher", - }, - "host-darwin-arm64-11": &HostConfig{ - IsReverse: true, - Notes: "macOS Big Sur (11) ARM64 (M1). Mac mini", - ExpectNum: 3, - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", - }, - SSHUsername: "gopher", - }, - "host-darwin-arm64-12": &HostConfig{ - IsReverse: true, - ExpectNum: 3, - Notes: "macOS Big Sur (12) ARM64 (M1). Mac mini", - env: []string{ - "GOROOT_BOOTSTRAP=/Users/gopher/goboot", - }, - SSHUsername: "gopher", - }, - - "host-linux-s390x": &HostConfig{ - Notes: "run by IBM", - Owners: []*gophers.Person{gh("jonathan-albrecht-ibm"), gophers.GetPerson("Cindy Lee")}, // See https://groups.google.com/g/golang-dev/c/obUDaYbaxXw/m/5sMgfDYVAAAJ. - IsReverse: true, - ExpectNum: 2, // See https://github.com/golang/go/issues/49557#issuecomment-969148789. - env: []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"}, - }, - "host-linux-ppc64-osu": &HostConfig{ - Notes: "Debian jessie; run by Go team on osuosl.org", - IsReverse: true, - ExpectNum: 5, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, - SSHUsername: "root", - HermeticReverse: false, // TODO: run in chroots with overlayfs? https://github.com/golang/go/issues/34830#issuecomment-543386764 - }, - "host-linux-ppc64le-osu": &HostConfig{ - Notes: "Debian Buster; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl", - IsReverse: true, - ExpectNum: 5, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, - SSHUsername: "root", - HermeticReverse: true, - }, - "host-linux-ppc64le-power9-osu": &HostConfig{ - Notes: "Debian Buster; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl", - IsReverse: true, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", "GOPPC64=power9"}, - SSHUsername: "root", - HermeticReverse: true, - }, - "host-linux-arm64-aws": &HostConfig{ - Notes: "Debian Buster, EC2 arm64 instance. See x/build/env/linux-arm64/aws", - VMImage: "ami-03089323a1d38e652", - ContainerImage: "gobuilder-arm64-aws:latest", - machineType: "m6g.xlarge", - isEC2: true, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-arm64", - SSHUsername: "root", - }, - "host-linux-arm-aws": &HostConfig{ - Notes: "Debian Buster, EC2 arm instance. See x/build/env/linux-arm/aws", - VMImage: "ami-07409163bccd5ac4d", - ContainerImage: "gobuilder-arm-aws:latest", - machineType: "m6g.xlarge", - isEC2: true, - env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, - buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-arm", - SSHUsername: "root", - }, - "host-illumos-amd64-jclulow": &HostConfig{ - Notes: "SmartOS base64@19.1.0 zone", - Owners: []*gophers.Person{gh("jclulow")}, - IsReverse: true, - ExpectNum: 1, - SSHUsername: "gobuild", - }, - "host-solaris-amd64-oraclerel": &HostConfig{ - Notes: "Oracle Solaris amd64 Release System", - Owners: []*gophers.Person{gh("rorth")}, // https://github.com/golang/go/issues/15581#issuecomment-550368581 - IsReverse: true, - ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/opt/golang/go-solaris-amd64-bootstrap"}, - }, - "host-linux-loong64-3a5000": &HostConfig{ - Notes: "Loongson 3A5000 Box hosted by Loongson; loong64 is the short name of LoongArch 64 bit version", - Owners: []*gophers.Person{gh("XiaodongLoong")}, - IsReverse: true, - ExpectNum: 3, - env: []string{ - "GOROOT_BOOTSTRAP=/usr/lib/go-1.18", - }, - }, - "host-linux-mipsle-mengzhuo": &HostConfig{ - Notes: "Loongson 3A Box hosted by Meng Zhuo; actually MIPS64le despite the name", - Owners: []*gophers.Person{gh("mengzhuo")}, - IsReverse: true, - ExpectNum: 1, - env: []string{ - "GOROOT_BOOTSTRAP=/usr/lib/golang", - "GOMIPS64=hardfloat", - }, - }, - "host-linux-mips64le-rtrk": &HostConfig{ - Notes: "cavium,rhino_utm8 board hosted at RT-RK.com; quad-core cpu, 8GB of ram and 240GB ssd disks.", - Owners: []*gophers.Person{gh("draganmladjenovic")}, // See https://github.com/golang/go/issues/53574#issuecomment-1169891255. - IsReverse: true, - ExpectNum: 1, - env: []string{ - "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", - }, - }, - "host-linux-mips64-rtrk": &HostConfig{ - Notes: "cavium,rhino_utm8 board hosted at RT-RK.com; quad-core cpu, 8GB of ram and 240GB ssd disks.", - Owners: []*gophers.Person{gh("draganmladjenovic")}, // See https://github.com/golang/go/issues/53574#issuecomment-1169891255. - IsReverse: true, - ExpectNum: 1, - env: []string{ - "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", - }, - }, - "host-ios-arm64-corellium-ios": &HostConfig{ - Notes: "Virtual iOS devices hosted by Zenly on Corellium; see issues 31722 and 40523", - Owners: []*gophers.Person{gh("steeve"), gh("changkun")}, // See https://groups.google.com/g/golang-dev/c/oiuIE7qrWp0. - IsReverse: true, - ExpectNum: 3, - env: []string{ - "GOROOT_BOOTSTRAP=/var/root/go-ios-arm64-bootstrap", - }, - }, - "host-android-arm64-corellium-android": &HostConfig{ + "host-android-arm64-corellium-android": { Notes: "Virtual Android devices hosted by Zenly on Corellium; see issues 31722 and 40523", Owners: []*gophers.Person{gh("steeve"), gh("changkun")}, // See https://groups.google.com/g/golang-dev/c/oiuIE7qrWp0. IsReverse: true, @@ -626,30 +141,191 @@ var Hosts = map[string]*HostConfig{ "GOMAXPROCS=1", }, }, - "host-aix-ppc64-osuosl": &HostConfig{ - Notes: "AIX 7.2 VM on OSU; run by Tony Reix", - Owners: []*gophers.Person{gh("trex58")}, + "host-darwin-amd64-10_14": { + IsReverse: true, + ExpectNum: 3, + Notes: "MacStadium macOS Mojave (10.14) VM under VMWare ESXi", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1 + }, + SSHUsername: "gopher", + HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate + }, + "host-darwin-amd64-10_15": { + IsReverse: true, + ExpectNum: 3, + Notes: "MacStadium macOS Catalina (10.15) VM under VMWare ESXi", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1 + }, + SSHUsername: "gopher", + HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate + }, + "host-darwin-amd64-11_0": { + IsReverse: true, + ExpectNum: 5, + Notes: "MacStadium macOS Big Sur (11.0) VM under VMWare ESXi", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.13.4 + }, + SSHUsername: "gopher", + HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate + }, + "host-darwin-amd64-12_0": { + IsReverse: true, + ExpectNum: 5, + Notes: "MacStadium macOS Monterey (12.0) VM under VMWare ESXi", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.17.3 + }, + SSHUsername: "gopher", + HermeticReverse: true, // we destroy the VM when done & let cmd/makemac recreate + }, + "host-darwin-arm64-11": { + IsReverse: true, + Notes: "macOS Big Sur (11) ARM64 (M1). Mac mini", + ExpectNum: 3, + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", + }, + SSHUsername: "gopher", + }, + "host-darwin-arm64-11_0-toothrot": { + IsReverse: true, + Notes: "macOS Big Sur (11) ARM64 (M1). Mac mini", + ExpectNum: 1, + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", + }, + SSHUsername: "gopher", + }, + "host-darwin-arm64-12": { + IsReverse: true, + ExpectNum: 3, + Notes: "macOS Big Sur (12) ARM64 (M1). Mac mini", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", + }, + SSHUsername: "gopher", + }, + "host-darwin-arm64-12_0-toothrot": { IsReverse: true, ExpectNum: 1, - env: []string{"GOROOT_BOOTSTRAP=/opt/freeware/lib/golang"}, + Notes: "macOS Big Sur (12) ARM64 (M1). Mac mini", + env: []string{ + "GOROOT_BOOTSTRAP=/Users/gopher/goboot", + }, + SSHUsername: "gopher", }, - "host-android-amd64-emu": &HostConfig{ - Notes: "Debian Buster w/ Android SDK + emulator (use nested virt)", - ContainerImage: "android-amd64-emu:bff27c0c9263", - KonletVMImage: "android-amd64-emu", - NestedVirt: true, + "host-dragonfly-amd64-master": { + IsReverse: true, + ExpectNum: 1, + Notes: "DragonFly BSD master, run by DragonFly team", + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, + SSHUsername: "root", + Owners: []*gophers.Person{gh("tuxillo")}, + }, + "host-freebsd-amd64-11_4": { + VMImage: "freebsd-amd64-114", + Notes: "FreeBSD 11.4; GCE VM, built from build/env/freebsd-amd64", + machineType: "n2", // Intel only due to AMD memory corruption. See https://go.dev/cl/377474. + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-freebsd-amd64-12_3": { + VMImage: "freebsd-amd64-123-stable-20211230", + Notes: "FreeBSD 12.3; GCE VM, built from build/env/freebsd-amd64", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-freebsd-amd64-13_0": { + VMImage: "freebsd-amd64-130-stable-20211230", + Notes: "FreeBSD 13.0; GCE VM, built from build/env/freebsd-amd64", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-freebsd-arm-paulzhol": { + IsReverse: true, + ExpectNum: 1, + Notes: "Cubiboard2 1Gb RAM dual-core Cortex-A7 (Allwinner A20), FreeBSD 11.1-RELEASE", + env: []string{"GOROOT_BOOTSTRAP=/usr/home/paulzhol/go1.4"}, + Owners: []*gophers.Person{gh("paulzhol")}, + }, + "host-freebsd-arm64-dmgk": { + IsReverse: true, + ExpectNum: 1, + Notes: "AWS EC2 a1.large 2 vCPU 4GiB RAM, FreeBSD 12.1-STABLE", + env: []string{"GOROOT_BOOTSTRAP=/usr/home/builder/gobootstrap"}, + Owners: []*gophers.Person{gh("dmgk")}, + }, + "host-illumos-amd64-jclulow": { + Notes: "SmartOS base64@19.1.0 zone", + Owners: []*gophers.Person{gh("jclulow")}, + IsReverse: true, + ExpectNum: 1, + SSHUsername: "gobuild", + }, + "host-ios-arm64-corellium-ios": { + Notes: "Virtual iOS devices hosted by Zenly on Corellium; see issues 31722 and 40523", + Owners: []*gophers.Person{gh("steeve"), gh("changkun")}, // See https://groups.google.com/g/golang-dev/c/oiuIE7qrWp0. + IsReverse: true, + ExpectNum: 3, + env: []string{ + "GOROOT_BOOTSTRAP=/var/root/go-ios-arm64-bootstrap", + }, + }, + "host-js-wasm": { + Notes: "Container with node.js for testing js/wasm.", + ContainerImage: "js-wasm:latest", buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, SSHUsername: "root", }, - "host-linux-amd64-wsl": &HostConfig{ - Notes: "Windows 10 WSL2 Ubuntu", - Owners: []*gophers.Person{gh("mengzhuo")}, - IsReverse: true, - ExpectNum: 2, - env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"}, + "host-linux-amd64-alpine": { + Notes: "Alpine container", + ContainerImage: "linux-x86-alpine:latest", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64-static", + env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"}, + SSHUsername: "root", }, - "host-linux-amd64-perf": &HostConfig{ + "host-linux-amd64-bullseye": { + Notes: "Debian Bullseye", + ContainerImage: "linux-x86-bullseye:latest", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-buster": { + Notes: "Debian Buster", + ContainerImage: "linux-x86-buster:latest", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-clang": { + Notes: "Container with clang.", + ContainerImage: "linux-x86-clang:latest", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-fedora": { + Notes: "Fedora 30", + ContainerImage: "linux-x86-fedora:latest", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/goboot"}, + SSHUsername: "root", + }, + "host-linux-amd64-localdev": { + IsReverse: true, + ExpectNum: 0, + Notes: "for localhost development of buildlets/gomote/coordinator only", + SSHUsername: os.Getenv("USER"), + }, + "host-linux-amd64-perf": { Notes: "Cascade Lake performance testing machines", machineType: "c2", // C2 has precisely defined, consistent server architecture. ContainerImage: "linux-x86-bullseye:latest", @@ -658,6 +334,331 @@ var Hosts = map[string]*HostConfig{ SSHUsername: "root", CustomDeleteTimeout: 8 * time.Hour, }, + "host-linux-amd64-sid": { + Notes: "Debian sid, updated occasionally.", + ContainerImage: "linux-x86-sid:latest", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-stretch": { + Notes: "Debian Stretch", + ContainerImage: "linux-x86-stretch:latest", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-stretch-vmx": { + Notes: "Debian Stretch w/ Nested Virtualization (VMX CPU bit) enabled, for testing", + ContainerImage: "linux-x86-stretch:latest", + NestedVirt: true, + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + SSHUsername: "root", + }, + "host-linux-amd64-wsl": { + Notes: "Windows 10 WSL2 Ubuntu", + Owners: []*gophers.Person{gh("mengzhuo")}, + IsReverse: true, + ExpectNum: 2, + env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"}, + }, + "host-linux-arm-aws": { + Notes: "Debian Buster, EC2 arm instance. See x/build/env/linux-arm/aws", + VMImage: "ami-07409163bccd5ac4d", + ContainerImage: "gobuilder-arm-aws:latest", + machineType: "m6g.xlarge", + isEC2: true, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-arm", + SSHUsername: "root", + }, + "host-linux-arm64-aws": { + Notes: "Debian Buster, EC2 arm64 instance. See x/build/env/linux-arm64/aws", + VMImage: "ami-03089323a1d38e652", + ContainerImage: "gobuilder-arm64-aws:latest", + machineType: "m6g.xlarge", + isEC2: true, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-arm64", + SSHUsername: "root", + }, + "host-linux-loong64-3a5000": { + Notes: "Loongson 3A5000 Box hosted by Loongson; loong64 is the short name of LoongArch 64 bit version", + Owners: []*gophers.Person{gh("XiaodongLoong")}, + IsReverse: true, + ExpectNum: 3, + env: []string{ + "GOROOT_BOOTSTRAP=/usr/lib/go-1.18", + }, + }, + "host-linux-mips64-rtrk": { + Notes: "cavium,rhino_utm8 board hosted at RT-RK.com; quad-core cpu, 8GB of ram and 240GB ssd disks.", + Owners: []*gophers.Person{gh("draganmladjenovic")}, // See https://github.com/golang/go/issues/53574#issuecomment-1169891255. + IsReverse: true, + ExpectNum: 1, + env: []string{ + "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", + }, + }, + "host-linux-mips64le-rtrk": { + Notes: "cavium,rhino_utm8 board hosted at RT-RK.com; quad-core cpu, 8GB of ram and 240GB ssd disks.", + Owners: []*gophers.Person{gh("draganmladjenovic")}, // See https://github.com/golang/go/issues/53574#issuecomment-1169891255. + IsReverse: true, + ExpectNum: 1, + env: []string{ + "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", + }, + }, + "host-linux-mipsle-mengzhuo": { + Notes: "Loongson 3A Box hosted by Meng Zhuo; actually MIPS64le despite the name", + Owners: []*gophers.Person{gh("mengzhuo")}, + IsReverse: true, + ExpectNum: 1, + env: []string{ + "GOROOT_BOOTSTRAP=/usr/lib/golang", + "GOMIPS64=hardfloat", + }, + }, + "host-linux-ppc64-osu": { + Notes: "Debian jessie; run by Go team on osuosl.org", + IsReverse: true, + ExpectNum: 5, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, + SSHUsername: "root", + HermeticReverse: false, // TODO: run in chroots with overlayfs? https://github.com/golang/go/issues/34830#issuecomment-543386764 + }, + "host-linux-ppc64le-osu": { + Notes: "Debian Buster; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl", + IsReverse: true, + ExpectNum: 5, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, + SSHUsername: "root", + HermeticReverse: true, + }, + "host-linux-ppc64le-power9-osu": { + Notes: "Debian Buster; run by Go team on osuosl.org; see x/build/env/linux-ppc64le/osuosl", + IsReverse: true, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap", "GOPPC64=power9"}, + SSHUsername: "root", + HermeticReverse: true, + }, + "host-linux-riscv64-joelsing": { + Notes: "SiFive HiFive Unleashed RISC-V board. 8 GB RAM, 4 cores.", + IsReverse: true, + ExpectNum: 1, + Owners: []*gophers.Person{gh("4a6f656c")}, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/goboot"}, + }, + "host-linux-riscv64-unmatched": { + Notes: "SiFive HiFive Unmatched RISC-V board. 16 GB RAM, 4 cores.", + IsReverse: true, + ExpectNum: 2, + Owners: []*gophers.Person{gh("mengzhuo")}, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/goboot"}, + }, + "host-linux-s390x": { + Notes: "run by IBM", + Owners: []*gophers.Person{gh("jonathan-albrecht-ibm"), gophers.GetPerson("Cindy Lee")}, // See https://groups.google.com/g/golang-dev/c/obUDaYbaxXw/m/5sMgfDYVAAAJ. + IsReverse: true, + ExpectNum: 2, // See https://github.com/golang/go/issues/49557#issuecomment-969148789. + env: []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"}, + }, + "host-linux-s390x-cross": { + Notes: "Container with s390x cross-compiler.", + ContainerImage: "linux-s390x-cross:latest", + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", + env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, + }, + "host-netbsd-386-9_0": { + VMImage: "netbsd-i386-9-0-2019q4", + Notes: "NetBSD 9.0; GCE VM is built from script in build/env/netbsd-386", + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.netbsd-386", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-386-0b3b511.tar.gz", + SSHUsername: "root", + }, + "host-netbsd-amd64-9_0": { + VMImage: "netbsd-amd64-9-0-2019q4", + Notes: "NetBSD 9.0; GCE VM is built from script in build/env/netbsd-amd64", + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64-2da6b33.tar.gz", + SSHUsername: "root", + }, + "host-netbsd-arm-bsiegert": { + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/usr/pkg/go112"}, + Owners: []*gophers.Person{gh("bsiegert")}, + }, + "host-netbsd-arm64-bsiegert": { + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/usr/pkg/go114"}, + Owners: []*gophers.Person{gh("bsiegert")}, + }, + "host-openbsd-386-68": { + VMImage: "openbsd-386-68-v3", // v3 adds 009_exit syspatch; see go.dev/cl/278732. + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", + Notes: "OpenBSD 6.8 (with 009_exit syspatch); GCE VM, built from build/env/openbsd-386", + SSHUsername: "gopher", + }, + "host-openbsd-386-70": { + VMImage: "openbsd-386-70", + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", + Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-386", + SSHUsername: "gopher", + }, + "host-openbsd-386-70-n2d": { + // This host config is only for the runtime team to use investigating golang/go#49209. + VMImage: "openbsd-386-70", + machineType: "n2d", // force AMD; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz", + Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-386; AMD", + SSHUsername: "gopher", + }, + "host-openbsd-amd64-68": { + VMImage: "openbsd-amd64-68-v3", // v3 adds 009_exit syspatch; see go.dev/cl/278732. + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz", + Notes: "OpenBSD 6.8 (with 009_exit syspatch); GCE VM, built from build/env/openbsd-amd64", + SSHUsername: "gopher", + }, + "host-openbsd-amd64-70": { + VMImage: "openbsd-amd64-70", + machineType: "n2", // force Intel; see go.dev/issue/49209 + buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz", + Notes: "OpenBSD 7.0; GCE VM, built from build/env/openbsd-amd64", + SSHUsername: "gopher", + }, + "host-openbsd-arm-joelsing": { + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, + Owners: []*gophers.Person{gh("4a6f656c")}, + }, + "host-openbsd-arm64-joelsing": { + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, + Owners: []*gophers.Person{gh("4a6f656c")}, + }, + "host-openbsd-mips64-joelsing": { + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, + Owners: []*gophers.Person{gh("4a6f656c")}, + }, + "host-plan9-386-0intro": { + IsReverse: true, + ExpectNum: 1, + Notes: "QEMU VM, Plan 9 from Bell Labs", + Owners: []*gophers.Person{gh("0intro")}, + }, + "host-plan9-386-gce": { + VMImage: "plan9-386-v7", + Notes: "Plan 9 from 0intro; GCE VM, built from build/env/plan9-386", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.plan9-386", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-plan9-386.tar.gz", + env: []string{"GO_TEST_TIMEOUT_SCALE=3"}, + }, + "host-plan9-amd64-0intro": { + IsReverse: true, + ExpectNum: 1, + Notes: "QEMU VM, Plan 9 from Bell Labs, 9k kernel", + Owners: []*gophers.Person{gh("0intro")}, + }, + "host-plan9-arm-0intro": { + IsReverse: true, + ExpectNum: 1, + Notes: "Raspberry Pi 3 Model B, Plan 9 from Bell Labs", + Owners: []*gophers.Person{gh("0intro")}, + }, + "host-solaris-amd64-oraclerel": { + Notes: "Oracle Solaris amd64 Release System", + Owners: []*gophers.Person{gh("rorth")}, // https://github.com/golang/go/issues/15581#issuecomment-550368581 + IsReverse: true, + ExpectNum: 1, + env: []string{"GOROOT_BOOTSTRAP=/opt/golang/go-solaris-amd64-bootstrap"}, + }, + "host-windows-amd64-2008": { + VMImage: "windows-amd64-server-2008r2-v7", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2008-newcc": { + VMImage: "windows-amd64-server-2008r2-v8", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2012": { + VMImage: "windows-amd64-server-2012r2-v7", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2012-newcc": { + VMImage: "windows-amd64-server-2012r2-v8", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2016": { + VMImage: "windows-amd64-server-2016-v7", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2016-big": { + VMImage: "windows-amd64-server-2016-v7", + machineType: "e2-standard-16", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2016-big-newcc": { + VMImage: "windows-amd64-server-2016-v8", + machineType: "e2-standard-16", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-amd64-2016-newcc": { + VMImage: "windows-amd64-server-2016-v8", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz", + SSHUsername: "gopher", + }, + "host-windows-arm64-10": { + Notes: "macOS hosting Windows 10 in qemu with HVM acceleration.", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-windows-arm64-f22ec5.tar.gz", + IsReverse: true, + ExpectNum: 2, + }, + "host-windows-arm64-11": { + Notes: "macOS hosting Windows 11 in qemu with HVM acceleration.", + buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64", + goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-windows-arm64-f22ec5.tar.gz", + IsReverse: true, + ExpectNum: 5, + }, + "host-windows-arm64-zx2c4": { + IsReverse: true, + ExpectNum: 0, + Owners: []*gophers.Person{gh("zx2c4")}, + env: []string{"GOROOT_BOOTSTRAP=C:\\Program Files (Arm)\\Go"}, + }, } // CrossCompileConfig describes how to cross-compile a build on a diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go index 5b1e2f84..975774e3 100644 --- a/dashboard/builders_test.go +++ b/dashboard/builders_test.go @@ -7,6 +7,7 @@ package dashboard import ( "bytes" "fmt" + "os" "os/exec" "path/filepath" "regexp" @@ -1143,3 +1144,26 @@ func TestDefaultPlusExpBuild(t *testing.T) { } } } + +func TestHostsSort(t *testing.T) { + data, err := os.ReadFile("builders.go") + if err != nil { + t.Fatal(err) + } + table := regexp.MustCompile(`(?s)\nvar Hosts =.*?\n}\n`).FindString(string(data)) + if table == "" { + t.Fatal("cannot find Hosts table in builders.go") + } + m := regexp.MustCompile(`\n\t"([^"]+)":`).FindAllStringSubmatch(table, -1) + if len(m) < 10 { + t.Fatalf("cannot find host keys in table") + } + var last string + for _, sub := range m { + key := sub[1] + if last > key { + t.Errorf("Host table unsorted: %s before %s", last, key) + } + last = key + } +}