chore(ci): build oci_push targets before invoking them #63381
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Today, we use gnu
parallel
to parallelize runningbazel run
on oci_push targets. Bazel cli holds an exclusive lock on the server while building, but releases the lock once it runs the excutable of a runnable target. By building the oci_push targets (and their closures) as part ofbazel build
, we can parallelize building instead of only one oci_push closure at a time, and then there should be minimal bazel server lock when webazel run
in parallel.It's important we get the flags the same for
bazel build
andbazel run
, hence stamp in both casesTest plan
Awaiting a main dry-run
Changelog