You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI perf: Gradle compatibility — 4 Windows hosted cells (36–42 min each) on every matching PR are 70% of the run (~5,000 Windows job-min/day) #1300
All the time is in the e2e_redirect_gradle_build --ignored gradle_hosted_ step. Each of the 43 tests drives a real Gradle build on Windows, in groovy and kotlin DSL. In the log (job 113883777777), the tests take 60–180 s each.
Setup, JDK selection, Gradle install and artifact download together take under 0.5 min per cell. There is nothing to trim outside the test step.
In .github/workflows/gradle-compatibility.yml, cells, on pull_request only:
Keep all 4 agent and all 4 vendor Windows cells. They are cheap: 59 job-min.
Keep two hosted Windows cells: the oldest line, 6.9.4 / jdk 11, and the newest, 9.8.0 / jdk 21.
Move 7.6.6 / jdk 17 / hosted and 8.14.3 / jdk 21 / hosted on windows to the nightly (17 4 * * *) and workflow_dispatch. One way is two exclude entries keyed on the event, like the existing macOS and ubuntu ones:
Required check names ci-ok and clippy are untouched.
Effort
S. Two exclude lines plus a comment, in one file.
ROI
Saving: ~5k Windows job-min/day × 2 (Windows weight) = 10. Confidence: 0.6, since the run rate after #1206 is uncertain. Effort: S = 1. ROI = 10 × 0.6 / 1 = 6.0
Measurement
Window: 2026-10-09 01:23 → 16:16 UTC. Runs are from
workflows/gradle-compatibility.yml/runs?event=pull_request, first page of 100 (177 in 24h).Gradle patch compatibility on pull_request: 62 full runs in 14.9h (53 success, 9 cancelled after more than 8 min), or about 100 per day.
After Skip duplicate Gradle compat legs on PRs #1255, a PR run is almost all Windows. For example, run 37948810769 (15:03, after Skip duplicate Gradle compat legs on PRs #1255) used 209 Windows job-min and 0.1 Linux.
Run the hosted suitesfinished in 2504.87s)The 4 hosted cells are 146 of the 209 Windows job-min (70%) and set the 45-min wall clock.
Failures: none of the 53 successful runs had a failed cell, and CI perf: Gradle patch compatibility — PR runs repeat ci.yml's Gradle e2e tier and run nightly-only extras (~17,000 Linux job-min/day) #1177 and Skip duplicate Gradle compat legs on PRs #1255 reported 0 PR failures in their windows. No Windows hosted Gradle cell failure on a PR was seen in this window.
Where the time goes
e2e_redirect_gradle_build --ignored gradle_hosted_step. Each of the 43 tests drives a real Gradle build on Windows, in groovy and kotlin DSL. In the log (job 113883777777), the tests take 60–180 s each.Root cause
gradle-compatibility.ymlexclude block, and CI perf: Gradle patch compatibility — PR runs repeat ci.yml's Gradle e2e tier and run nightly-only extras (~17,000 Linux job-min/day) #1177's "Coverage" point 3.paths:filter includes broad globs that most engine PRs touch:crates/socket-patch-core/src/hosted/**andvex/**commands/apply.rs,remove.rs,rollback.rs,vex.rs,scan/**tests/common/**,Cargo.lock,crates/*/Cargo.tomlProposed fix
In
.github/workflows/gradle-compatibility.yml,cells, onpull_requestonly:6.9.4 / jdk 11, and the newest,9.8.0 / jdk 21.7.6.6 / jdk 17 / hostedand8.14.3 / jdk 21 / hostedon windows to the nightly (17 4 * * *) andworkflow_dispatch. One way is twoexcludeentries keyed on the event, like the existing macOS and ubuntu ones:excludeentry with an emptyosvalue matches nothing on other events, as the existing entries do.paths:").Expected saving
ci-ok,clippyor the merge-queue critical path: this workflow is not required and does not run in merge_group.Coverage and risk
e2ePR tier and merge queue.ci-okandclippyare untouched.Effort
S. Two
excludelines plus a comment, in one file.ROI
Saving: ~5k Windows job-min/day × 2 (Windows weight) = 10. Confidence: 0.6, since the run rate after #1206 is uncertain. Effort: S = 1. ROI = 10 × 0.6 / 1 = 6.0
Generated by Claude Code