For cleanup CLs like https://go-review.googlesource.com/#/c/8762, it would be nice if the trybots could take care of building a toolchain at HEAD, toolstash saving it, rebuilding at HEAD+CL, and then running an appropriate "toolstash -cmp" build.
Using toolstash/buildall, this only needs to be run once on a fast/cheap trybot type (e.g., linux/amd64) to avoid wasting more expensive trybot resources (e.g., OS X and/or ARM).
Obviously this would only be on an opt-in basis. Perhaps just a new dedicated trybot type that doesn't run by default, is configured with a different testing script than running all.bash, and is selected via whatever +trybot mechanism is implemented.
Maybe too niche a use case, but some rationale:
Now that the toolchain is in Go, it seems like cleanup CLs to make the code more idiomatic are going to be increasingly common.
It's easy to misuse toolstash; e.g., accidentally build the stashed toolchain at HEAD+CL rather than HEAD, negating the testing benefits.
As a reviewer, you need to trust that developers who say "Passes toolstash -cmp" actually tested it correctly.
The text was updated successfully, but these errors were encountered:
This exercises the linker as well as the compiler.
Credit to Matthew Dempsky; see #10418.
Reviewed-by: Michael Hudson-Doyle <firstname.lastname@example.org>
Run-TryBot: Brad Fitzpatrick <email@example.com>
TryBot-Result: Gobot Gobot <firstname.lastname@example.org>
Reviewed-by: Brad Fitzpatrick <email@example.com>
Probably the easiest way to implement this is to take advantage of the existing post-make.bash snapshots we already upload to GCS for all builds.
So after trybots pass (probably for each build config? or at least Windows + Linux?), pull down tarballs of the git parent's previous make.bash snapshot and the current one, and toolstash cmp that, or equivalent.