In 4f248e9 (CL 177577), @rsc introduced -all_codegen flag to test/run.go as a way to gate running the codegen testsuite with cross-compilation to all target architectures. In particular, it is now disabled in all.sh saving ~10 seconds (most of the time comes from the need to cross-compile runtime, math and a few other packages on all target architectures).
Unfortunately, none of the trybots has been updated to use -all_codegen and we don't have trybots for all possible target architectures and variants. This already caused the build to break 3 times:
Codegen bugs are hairy, often affect multiple platforms, and are hard to detect. The codegen testsuite was explicitly design to cross-compile by default as the only way for compiler developers to catch those bugs.
Disabling it in all.sh can make sense as most CLs and most developers are not working on the compiler, but not running it at all before landing a CL sounds too risky.
My proposal is to run run.go -all_codegen on one trybot, for instance the linux-amd64-ssacheck one. We don't need it in multiple trybots as the results would be the same. I would also change the output of the testsuite to explicitly mention using the -all_codegen flag to reproduce (as running in the ssacheck builder might confuse people that what they are seeing requires SSA checks to be the on).
I think we can add 9c384cc (@agnivade) to the list of CLs breaking codegen tests and not being caught by trybots. Although the builder did not fail test$ ../bin/go run run.go -all_codegen -v codegen fails for me locally.
AFAIK @dmitshur and @bradfitz own the trybots and the builders; but as long as you don't make them too slow (IIRC the goal is to have them return a result within 5 minutes) I don't think they will have anything against adding a new check to one of them.
So the question is: how fast the linux-amd64-ssacheck trybot is? And if you add -all_codegen, it'll be still faster than the currently slowest trybot? If yes, adding the flag won't slow down the trybots overall, so it should be fine.