Skip to content

Commit

Permalink
dashboard: stop ported Wasm builders
Browse files Browse the repository at this point in the history
The Wasm builders have been ported to LUCI. Their previous coordinator
versions aren't being maintained and have stopped passing at tip after
CL 577135, because they're still using an old and unsupported wasmtime.

Stop these builders from doing work and remove them from legacy trybot
set, so that its failure doesn't get in the way of Legacy-TryBots-Pass
which is still used for some builders that haven't been ported to LUCI.

For golang/go#63471.

Change-Id: I4c8b0af80807196b7f03046ecdf1b18851b97b04
Reviewed-on: https://go-review.googlesource.com/c/build/+/578936
Reviewed-by: Cherry Mui <[email protected]>
Auto-Submit: Dmitri Shuralyov <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
  • Loading branch information
dmitshur authored and gopherbot committed Apr 15, 2024
1 parent 68f5572 commit b0cf070
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 54 deletions.
33 changes: 17 additions & 16 deletions dashboard/builders.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ var slowBotAliases = map[string]string{
// Known missing builders:
"ios-amd64": "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.

// Fully ported to LUCI and stopped in the coordinator.
"js": "",
"wasip1": "",
"wasm": "",
"js-wasm": "",
"wasip1-wasm": "",

"386": "linux-386",
"aix": "aix-ppc64",
"amd64": "linux-amd64",
Expand All @@ -53,10 +60,6 @@ var slowBotAliases = map[string]string{
"freebsd-riscv64": "freebsd-riscv64-unmatched",
"illumos": "illumos-amd64",
"ios": "ios-arm64-corellium",
"js": "js-wasm-node18",
"js-wasm": "js-wasm-node18",
"wasip1": "wasip1-wasm-wasmtime",
"wasip1-wasm": "wasip1-wasm-wasmtime",
"linux": "linux-amd64",
"linux-arm": "linux-arm-aws",
"linux-loong64": "linux-loong64-3a5000",
Expand Down Expand Up @@ -103,11 +106,6 @@ var slowBotAliases = map[string]string{
"s390x": "linux-s390x-ibm",
"solaris": "solaris-amd64-oraclerel",
"solaris-amd64": "solaris-amd64-oraclerel",
"wasm": "js-wasm-node18",
"wasmedge": "wasip1-wasm-wasmedge",
"wasmer": "wasip1-wasm-wasmer",
"wasmtime": "wasip1-wasm-wasmtime",
"wazero": "wasip1-wasm-wazero",
"windows": "windows-amd64-2016",
"windows-386": "windows-386-2016",
"windows-amd64": "windows-amd64-2016",
Expand Down Expand Up @@ -750,8 +748,8 @@ type BuildConfig struct {
Notes string // notes for humans

// tryBot optionally specifies a policy func for whether trybots are enabled.
// nil means off. Even if tryBot returns true, BuildConfig.BuildsRepo must also
// return true. See the implementation of BuildConfig.BuildsRepoTryBot.
// nil means off. Even if tryBot returns true, BuildConfig.buildsRepoAtAll must
// also return true. See the implementation of BuildConfig.BuildsRepoTryBot.
// The proj is "go", "net", etc. The branch is proj's branch.
// The goBranch is the same as branch for proj "go", else it's the go branch
// ("master, "release-branch.go1.12", etc).
Expand Down Expand Up @@ -2866,7 +2864,7 @@ func init() {
// BuildersPortedToLUCI lists coordinator builders that have been ported
// over to LUCI and don't need to continue to run. Their results will be
// hidden from the build.golang.org page and new builds won't be started
// if stopPortedBuilders (below) is true.
// if stopPortedBuilder (below) returns true.
//
// See go.dev/issue/65913
// and go.dev/issue/63471.
Expand Down Expand Up @@ -2935,9 +2933,11 @@ var BuildersPortedToLUCI = map[string]bool{
"wasip1-wasm-wazero": true, // Available as https://ci.chromium.org/p/golang/builders/ci/gotip-wasip1-wasm_wazero.
}

// stopPortedBuilders controls whether ported builders should be stopped,
// stopPortedBuilder reports whether the named ported builder should be stopped,
// instead of just made invisible in the web UI.
const stopPortedBuilders = false
func stopPortedBuilder(builderName string) (stop bool) {
return strings.Contains(builderName, "-wasm-")
}

// addBuilder adds c to the Builders map after doing some checks.
func addBuilder(c BuildConfig) {
Expand Down Expand Up @@ -2975,8 +2975,9 @@ func addBuilder(c BuildConfig) {
panic(fmt.Sprintf("build config %q host type inconsistent (must be Reverse, Image, or VM)", c.Name))
}

if BuildersPortedToLUCI[c.Name] && stopPortedBuilders {
return
if BuildersPortedToLUCI[c.Name] && stopPortedBuilder(c.Name) {
c.buildsRepo = func(_, _, _ string) bool { return false }
c.Notes = "Unavailable in the coordinator. Use LUCI (https://go.dev/wiki/LUCI) instead."
}

Builders[c.Name] = &c
Expand Down
73 changes: 35 additions & 38 deletions dashboard/builders_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,6 @@ func TestTrybots(t *testing.T) {
branch: "master",
want: []string{
"freebsd-amd64-12_3",
"js-wasm-node18",
"wasip1-wasm-wasmtime",
"linux-386",
"linux-amd64",
"linux-amd64-boringcrypto",
Expand Down Expand Up @@ -145,8 +143,6 @@ func TestTrybots(t *testing.T) {
branch: "release-branch.go1.22",
want: []string{
"freebsd-amd64-12_3",
"js-wasm-node18",
"wasip1-wasm-wasmtime",
"linux-386",
"linux-amd64",
"linux-amd64-boringcrypto",
Expand Down Expand Up @@ -203,8 +199,6 @@ func TestTrybots(t *testing.T) {
branch: "release-branch.go1.21",
want: []string{
"freebsd-amd64-12_3",
"js-wasm-node18",
"wasip1-wasm-wasmtime",
"linux-386",
"linux-amd64",
"linux-amd64-boringcrypto",
Expand Down Expand Up @@ -583,14 +577,14 @@ func TestBuilderConfig(t *testing.T) {
{b("android-amd64-emu", "go"), onlyPost},
{b("android-386-emu", "go"), onlyPost},

{b("js-wasm-node18", "go"), both},
{b("[email protected]", "go"), both},
// Builders for js/wasm are fully ported to LUCI and stopped in the coordinator.
{b("js-wasm-node18", "go"), none},
{b("[email protected]", "go"), none},
{b("[email protected]", "go"), none},
// Test js/wasm on a subset of golang.org/x repos:
{b("js-wasm-node18", "arch"), onlyPost},
{b("js-wasm-node18", "crypto"), onlyPost},
{b("js-wasm-node18", "sys"), onlyPost},
{b("js-wasm-node18", "net"), onlyPost},
{b("js-wasm-node18", "arch"), none},
{b("js-wasm-node18", "crypto"), none},
{b("js-wasm-node18", "sys"), none},
{b("js-wasm-node18", "net"), none},
{b("js-wasm-node18", "benchmarks"), none},
{b("js-wasm-node18", "debug"), none},
{b("js-wasm-node18", "mobile"), none},
Expand All @@ -600,23 +594,23 @@ func TestBuilderConfig(t *testing.T) {
{b("js-wasm-node18", "tour"), none},
{b("js-wasm-node18", "website"), none},

{b("wasip1-wasm-wazero", "go"), onlyPost},
{b("[email protected]", "go"), onlyPost},
// Builders for wasip1-wasm are fully ported to LUCI and stopped in the coordinator.
{b("wasip1-wasm-wazero", "go"), none},
{b("[email protected]", "go"), none},
{b("[email protected]", "go"), none},
{b("wasip1-wasm-wasmtime", "go"), both},
{b("[email protected]", "go"), both},
{b("wasip1-wasm-wasmtime", "go"), none},
{b("[email protected]", "go"), none},
{b("[email protected]", "go"), none},
{b("wasip1-wasm-wasmer", "go"), onlyPost},
{b("[email protected]", "go"), onlyPost},
{b("wasip1-wasm-wasmer", "go"), none},
{b("[email protected]", "go"), none},
{b("[email protected]", "go"), none},
{b("wasip1-wasm-wasmedge", "go"), onlyPost},
{b("[email protected]", "go"), onlyPost},
{b("wasip1-wasm-wasmedge", "go"), none},
{b("[email protected]", "go"), none},
{b("[email protected]", "go"), none},
// Test wasip1/wasm on a subset of golang.org/x repos:
{b("wasip1-wasm-wazero", "arch"), onlyPost},
{b("wasip1-wasm-wazero", "crypto"), onlyPost},
{b("wasip1-wasm-wazero", "sys"), onlyPost},
{b("wasip1-wasm-wazero", "net"), onlyPost},
{b("wasip1-wasm-wazero", "arch"), none},
{b("wasip1-wasm-wazero", "crypto"), none},
{b("wasip1-wasm-wazero", "sys"), none},
{b("wasip1-wasm-wazero", "net"), none},
{b("wasip1-wasm-wazero", "benchmarks"), none},
{b("wasip1-wasm-wazero", "debug"), none},
{b("wasip1-wasm-wazero", "mobile"), none},
Expand All @@ -625,10 +619,10 @@ func TestBuilderConfig(t *testing.T) {
{b("wasip1-wasm-wazero", "tools"), none},
{b("wasip1-wasm-wazero", "tour"), none},
{b("wasip1-wasm-wazero", "website"), none},
{b("wasip1-wasm-wasmtime", "arch"), onlyPost},
{b("wasip1-wasm-wasmtime", "crypto"), onlyPost},
{b("wasip1-wasm-wasmtime", "sys"), onlyPost},
{b("wasip1-wasm-wasmtime", "net"), onlyPost},
{b("wasip1-wasm-wasmtime", "arch"), none},
{b("wasip1-wasm-wasmtime", "crypto"), none},
{b("wasip1-wasm-wasmtime", "sys"), none},
{b("wasip1-wasm-wasmtime", "net"), none},
{b("wasip1-wasm-wasmtime", "benchmarks"), none},
{b("wasip1-wasm-wasmtime", "debug"), none},
{b("wasip1-wasm-wasmtime", "mobile"), none},
Expand All @@ -637,10 +631,10 @@ func TestBuilderConfig(t *testing.T) {
{b("wasip1-wasm-wasmtime", "tools"), none},
{b("wasip1-wasm-wasmtime", "tour"), none},
{b("wasip1-wasm-wasmtime", "website"), none},
{b("wasip1-wasm-wasmer", "arch"), onlyPost},
{b("wasip1-wasm-wasmer", "crypto"), onlyPost},
{b("wasip1-wasm-wasmer", "sys"), onlyPost},
{b("wasip1-wasm-wasmer", "net"), onlyPost},
{b("wasip1-wasm-wasmer", "arch"), none},
{b("wasip1-wasm-wasmer", "crypto"), none},
{b("wasip1-wasm-wasmer", "sys"), none},
{b("wasip1-wasm-wasmer", "net"), none},
{b("wasip1-wasm-wasmer", "benchmarks"), none},
{b("wasip1-wasm-wasmer", "debug"), none},
{b("wasip1-wasm-wasmer", "mobile"), none},
Expand All @@ -649,10 +643,10 @@ func TestBuilderConfig(t *testing.T) {
{b("wasip1-wasm-wasmer", "tools"), none},
{b("wasip1-wasm-wasmer", "tour"), none},
{b("wasip1-wasm-wasmer", "website"), none},
{b("wasip1-wasm-wasmedge", "arch"), onlyPost},
{b("wasip1-wasm-wasmedge", "crypto"), onlyPost},
{b("wasip1-wasm-wasmedge", "sys"), onlyPost},
{b("wasip1-wasm-wasmedge", "net"), onlyPost},
{b("wasip1-wasm-wasmedge", "arch"), none},
{b("wasip1-wasm-wasmedge", "crypto"), none},
{b("wasip1-wasm-wasmedge", "sys"), none},
{b("wasip1-wasm-wasmedge", "net"), none},
{b("wasip1-wasm-wasmedge", "benchmarks"), none},
{b("wasip1-wasm-wasmedge", "debug"), none},
{b("wasip1-wasm-wasmedge", "mobile"), none},
Expand Down Expand Up @@ -996,6 +990,9 @@ func TestTryBotsCompileAllPorts(t *testing.T) {
// when the work of adding a new port is actively underway.
knownMissing := map[string]bool{
"openbsd-mips64": true, // go.dev/issue/58110

"js-wasm": true, // Fully ported to LUCI and stopped in the coordinator.
"wasip1-wasm": true, // Fully ported to LUCI and stopped in the coordinator.
}

var done = make(map[string]bool)
Expand Down

0 comments on commit b0cf070

Please sign in to comment.