cmd/coordinator: support post-submit cross-compiled builds
This adds a boolean to flag a cross compiler config to always be
used for every build, not just when in staging or if it's a try-bot.
It's turned on for the arm5spacemonkey build machines since they take
about 27 minutes to run make.bash.
Fixes golang/go#20118
Change-Id: I13a398d1645a2b5f0c87c5fffc7933922ac1365e
Reviewed-on: https://go-review.googlesource.com/41755
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/cmd/coordinator/coordinator.go b/cmd/coordinator/coordinator.go
index 485f570..50d1f9c 100644
--- a/cmd/coordinator/coordinator.go
+++ b/cmd/coordinator/coordinator.go
@@ -1467,8 +1467,15 @@
if kubeErr != nil {
return nil
}
+ config := crossCompileConfigs[st.name]
+ if config == nil {
+ return nil
+ }
+ if config.AlwaysCrossCompile {
+ return config
+ }
if inStaging || st.isTry() {
- return crossCompileConfigs[st.name]
+ return config
}
return nil
}
@@ -1693,21 +1700,24 @@
}
type crossCompileConfig struct {
- Buildlet string
- CCForTarget string
- GOARM string
+ Buildlet string
+ CCForTarget string
+ GOARM string
+ AlwaysCrossCompile bool
}
var crossCompileConfigs = map[string]*crossCompileConfig{
"linux-arm": {
- Buildlet: "host-linux-armhf-cross",
- CCForTarget: "arm-linux-gnueabihf-gcc",
- GOARM: "7",
+ Buildlet: "host-linux-armhf-cross",
+ CCForTarget: "arm-linux-gnueabihf-gcc",
+ GOARM: "7",
+ AlwaysCrossCompile: false,
},
"linux-arm-arm5spacemonkey": {
- Buildlet: "host-linux-armel-cross",
- CCForTarget: "arm-linux-gnueabi-gcc",
- GOARM: "5",
+ Buildlet: "host-linux-armel-cross",
+ CCForTarget: "arm-linux-gnueabi-gcc",
+ GOARM: "5",
+ AlwaysCrossCompile: true,
},
}