Skip to content

Commit 788b5c2

Browse files
committed
dashboard: try to speed up pre-submit longtest builders
The longtest builders are currently primarily post-submit builders, where it's okay for them to be as slow as they need to be in order to provide additional test coverage. In this context, whether they take 40 minutes or 50 makes little difference. The longtest builders are also sometimes requested via SlowBots for changes that are riskier than usual, or otherwise desire additional coverage beyond the normal TryBots. They're also always enabled for CLs to release branches. In such contexts, speeding up SlowBot runs from 40 minutes to 20 or less would be appreciated and in turn help people use longtest SlowBots more frequently. Longtest builders are already configured to use sharded tests. Configure them to use additional helpers to speed up test execution. Try out 3, 5, and 9 helpers to see how much it helps before settling. For golang/go#37439. Change-Id: I425bc0257b7a54bb32c0eb1719fea7ba3f4fd461 Reviewed-on: https://go-review.googlesource.com/c/build/+/268037 Trust: Dmitri Shuralyov <[email protected]> Run-TryBot: Dmitri Shuralyov <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Alexander Rakoczy <[email protected]> Reviewed-by: Carlos Amedee <[email protected]>
1 parent 82671ab commit 788b5c2

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

dashboard/builders.go

+20-3
Original file line numberDiff line numberDiff line change
@@ -841,10 +841,10 @@ type BuildConfig struct {
841841

842842
// numTestHelpers is the number of _additional_ buildlets
843843
// past the first one to help out with sharded tests.
844-
// For trybots, the numTryHelpers value is used, unless it's
845-
// zero, in which case numTestHelpers is used.
844+
// For TryBots and SlowBots, the numTryHelpers value is used,
845+
// unless it's zero, in which case numTestHelpers is used.
846846
numTestHelpers int
847-
numTryTestHelpers int // for trybots. if 0, numTesthelpers is used
847+
numTryTestHelpers int // For TryBots/SlowBots. If 0, numTestHelpers is used.
848848

849849
env []string // extra environment ("key=value") pairs
850850
allScriptArgs []string
@@ -1373,6 +1373,11 @@ func (c *HostConfig) GCENumCPU() int {
13731373
return n
13741374
}
13751375

1376+
// NumTestHelpers reports how many additional buildlets
1377+
// past the first one to help out with sharded tests.
1378+
//
1379+
// isTry specifies whether it's for a pre-submit test
1380+
// run (a TryBot or SlowBot) where speed matters more.
13761381
func (c *BuildConfig) NumTestHelpers(isTry bool) int {
13771382
if isTry && c.numTryTestHelpers != 0 {
13781383
return c.numTryTestHelpers
@@ -1754,6 +1759,10 @@ func init() {
17541759
env: []string{
17551760
"GO_TEST_TIMEOUT_SCALE=5", // give them lots of time
17561761
},
1762+
// TODO(golang.org/issue/37439): Decide whether it's worth it
1763+
// to go for 3~9 extra helpers for -longtest SlowBot requests
1764+
// based on how well having more helpers scales. Try 3, 5, 9.
1765+
numTryTestHelpers: 9,
17571766
})
17581767
addBuilder(BuildConfig{
17591768
Name: "linux-386-longtest",
@@ -1777,6 +1786,10 @@ func init() {
17771786
"GOHOSTARCH=386",
17781787
"GO_TEST_TIMEOUT_SCALE=5", // give them lots of time
17791788
},
1789+
// TODO(golang.org/issue/37439): Decide whether it's worth it
1790+
// to go for 3~9 extra helpers for -longtest SlowBot requests
1791+
// based on how well having more helpers scales. Try 3, 5, 9.
1792+
numTryTestHelpers: 5,
17801793
})
17811794
addBuilder(BuildConfig{
17821795
Name: "linux-arm",
@@ -2095,6 +2108,10 @@ func init() {
20952108
env: []string{
20962109
"GO_TEST_TIMEOUT_SCALE=5", // give them lots of time
20972110
},
2111+
// TODO(golang.org/issue/37439): Decide whether it's worth it
2112+
// to go for 3~9 extra helpers for -longtest SlowBot requests
2113+
// based on how well having more helpers scales. Try 3, 5, 9.
2114+
numTryTestHelpers: 3,
20982115
})
20992116
addBuilder(BuildConfig{
21002117
Name: "windows-amd64-race",

0 commit comments

Comments
 (0)