[build] use RBE to prepare and build the artifacts for releases - #18041
Conversation
…the release-preparation PR
PR Summary by QodoBuild and warm release publishing targets with RBE
AI Description
Diagram
High-Level Assessment
Files changed (11)
|
Code Review by Qodo
1. Release routing can regress undetected
|
|
Code review by qodo was updated up to the latest commit 0938c52 |
|
Code review by qodo was updated up to the latest commit 21aa8fe |
🔗 Related Issues
Prerequisite for #17586
💥 What does this PR do?
🔧 Implementation Notes
prepare-release.shbuilds release targets on RBE in parallel withci-build.shtestsdotnet:packagebuilds//dotnet:release, the targetprepare-release.shwarms, instead of the//dotnet:allwildcard.rbeis a task argument next tonightlythat selects the existingrbe_releaseconfig over the release config.-j 50to the cluster's 100 executors to allow a single run to take full use of capacity if needed.ci-build.shcurrently executes a bazel build run after a bazel test run; this PR skips this build for release-preparation PRs sinceprepare-release.shincludes it and runs in parallelPrepare Releaseis added to the release ruleset's required checks, since on release-preparation PRs it replaces the release-artifact build that ran inside the required Test job.Expected Release PR Test Timings:
Expected Publish Timings:
*See Additional Considerations.
With
--manager=allthe publish phase is the only lock phase that changes: ~23 min without this PR and the same ~6 with it, so trunk would be locked ~15 min longer today and no longer with this PR. The pre-release phase may also shrink once the cargo-built manager release jobs go away, which is #17586's work, not this PR's.🤖 AI assistance
💡 Additional Considerations
BUILD_HOST/BUILD_USER, which Bazel fills with each runner's hostname). Rebase-merging would not help: GitHub rewrites the SHAs either way.🔄 Types of changes