Skip to content

ci: parallelize independent setup steps in build and test jobs - #52721

Open
claude[bot] wants to merge 2 commits into
mainfrom
ci-parallel-steps
Open

ci: parallelize independent setup steps in build and test jobs#52721
claude[bot] wants to merge 2 commits into
mainfrom
ci-parallel-steps

Conversation

@claude

@claude claude Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Requested by Samuel Attard · Slack thread

Description of Change

Before: the test jobs run five independent setup steps (installing dependencies, cloning depot_tools, downloading the generated and src artifacts, and provisioning the Linux CUPS virtual printer) strictly one after another, and macOS builds wait for the disk-freeing step to finish before doing anything else — including restoring caches that don't need the freed space yet.

After: those steps overlap using GitHub Actions' new parallel/background steps, saving roughly 4 minutes of wall time per full run with no behavior change — every step still runs to completion before anything that depends on it.

How: the five independent setup steps in the test segment are grouped under a parallel: block (they write disjoint paths and none reads another's output; env- and PATH-mutating steps stay serial and are only consumed after the group's implicit wait). In the build segment, the macOS disk-freeing step is backgrounded with background: true and a wait-all fence is placed just before the src-cache restore — the step that actually needs the freed disk (the fence is a no-op on Windows/Linux). The publish segment is regenerated from the build segment via the existing sync script, so it picks up the same change.

Deliberately left serial: the Add Depot Tools to PATH and other GITHUB_ENV/GITHUB_PATH-mutating steps, and the macOS AZCopy install, which must not overlap the brew invocations inside the disk-freeing step.

Checklist

Release Notes

Notes: none


Generated by Claude Code

@MarshallOfSound
MarshallOfSound marked this pull request as ready for review August 9, 2026 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant