This is an enhancement to speed up the release process and slightly reduce its resource use, by adding some complexity to its implementation that lets it avoid duplicate work.
The Go build system uses the VERSION file to set a development Go version in every pre-submit and post-submit build it runs:
https://source.chromium.org/chromium/infra/infra_superproject/+/main:infra/go/src/infra/experimental/golangbuild/buildmode.go;l=120-121;drc=6995a8ca0e35918f8fe94d6069daa6141139a5e8
Relui takes this into account and sets the VERSION file content to match the release itself when running its own release tests (here). However, it doesn't take it into account when creating auto-submit CLs that check in the updated VERSION file content to release branches, starting the usual trybots on them which in turn adds time to the process and doesn't test anything that hasn't already been tested.
We can probably make VersionTasks.CreateAutoSubmitVersionCL somewhat smarter about this and bypass trybots for those VERSION file CLs.
CC @golang/release.
Comment From: gabyhelp
Related Issues
- x/build/cmd/relui: VERSION file CL submission race affecting RCs after early thaw #61713
- x/build/cmd/releasebot, x/build/cmd/relui: create version CL via Gerrit API instead of filesystem+git+codereview #38075 (closed)
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: gopherbot
Change https://go.dev/cl/670476 mentions this issue: internal/task: bypass trybots on VERSION file CLs
Comment From: dmitshur
Need to grant the gobot account a permission for the TryBot-Bypass label, since it is being used by it now. Reopening for that.
Comment From: dmitshur
Permission change applied (https://go-review.googlesource.com/c/All-Projects/+/679635).