build/internal/buildgo
Michael Pratt 69964ce36e cmd/coordinator: baseline toolchain for benchmarks
When benchmarking, we want to benchmark both the toolchain under test
(i.e., buildStatus.Rev) as well as an older "baseline" toolchain, which
will be compared against.

For now, the baseline toolchain is the latest stable release. In the
future we may want to update more frequently, but this is a simple
starting point.

This CL determines the baseline toolchain commit for a given test and
installs it on the buildlet at BENCH_BASELINE_GOROOT.
golang.org/x/benchmarks/cmd/bench is responsible for utilizing the
baseline toolchain. CL 376096 is the corresponding change to cmd/bench.

Most of the baseline toolchain logic is limited to runBenchmarkTests().
In theory, it logically fits a bit better with the rest of the toolchain
logic in build() et al, but keeping it limited to runBenchmarkTests()
helps keep the common build() path from getting much more complex for a
minor edge-case feature.

For golang/go#49207.
For golang/go#48803.

Change-Id: Id63f8333cf9d1ff952850c3347e999b5e98f7294
Reviewed-on: https://go-review.googlesource.com/c/build/+/376634
Reviewed-by: Alex Rakoczy <alex@golang.org>
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-01-10 15:51:28 +00:00
..
README.md all: add or change GoDoc badge to pkg.go.dev with update-readmes.go 2020-12-15 04:52:31 +00:00
basepin.go internal/buildgo: handle greater quantity of disks 2021-11-09 17:45:05 +00:00
buildgo.go cmd/coordinator: baseline toolchain for benchmarks 2022-01-10 15:51:28 +00:00
client.go cmd/coordinator: add missing code from CL 179419 2019-05-30 16:23:36 +00:00

README.md

Go Reference

golang.org/x/build/internal/buildgo

Package buildgo provides tools for pushing and building the Go distribution on buildlets.