mirror of
https://github.com/tailscale/tailscale.git
synced 2026-09-13 14:29:49 -04:00
The natlab workflows cached only the VM images, so every job re-downloaded the tsgo toolchain and built Go from scratch. Cache the toolchain, module cache, and build cache in both workflows. natlab-test's prepare job is the only writer of the build cache; everything else, including its 54 matrix jobs and natlab-basic, restores it. The warm step compiles with both toolchains on purpose: ./tool/go builds the test binaries, while the bare `go` that vmtest.go and gokrazy/build shell out to is the runner's stock Go. GOCACHE keys embed the compiler's build ID, so those entries don't interchange, but both land in ~/.cache/go-build. Updates #13038 Signed-off-by: Brendan Creane <bcreane@gmail.com>