@@ -1014,14 +1014,16 @@ jobs:
10141014 cargo test --locked -p socket-patch-cli --all-features --tests --no-run --message-format=json-render-diagnostics > target-build.json
10151015
10161016 - name : Bundle the binaries the legs run
1017- if : needs.clippy.outputs.reuse != 'true' || matrix.os == 'ubuntu-latest'
1017+ # A reused push runs no leg, except e2e-full and cargo-vex-matrix-full
1018+ # on ubuntu when CI_SCOPE is `full`.
1019+ if : needs.clippy.outputs.reuse != 'true' || (matrix.os == 'ubuntu-latest' && vars.CI_SCOPE == 'full')
10181020 shell : bash
10191021 env :
10201022 BUNDLE_OS : ${{ matrix.os }}
10211023 run : python3 scripts/ci-e2e-bundle.py --os "$BUNDLE_OS" --cargo-json target-build.json --dest target/e2e-bin
10221024
10231025 - name : Compress the e2e binaries
1024- if : needs.clippy.outputs.reuse != 'true' || matrix.os == 'ubuntu-latest'
1026+ if : needs.clippy.outputs.reuse != 'true' || ( matrix.os == 'ubuntu-latest' && vars.CI_SCOPE == 'full')
10251027 # Compress the bundle as one stream so identical Rust code across
10261028 # test binaries shares a dictionary. Zstd is on every runner image.
10271029 # The 128 MiB window cuts the Linux artifact from ~200 MB to ~94 MB;
@@ -1032,7 +1034,7 @@ jobs:
10321034 tar -C target/e2e-bin -cf - . | zstd -q -f -10 --long=27 -o target/e2e-bin.tar.zst
10331035
10341036 - uses : ./.github/actions/upload-artifact
1035- if : needs.clippy.outputs.reuse != 'true' || matrix.os == 'ubuntu-latest'
1037+ if : needs.clippy.outputs.reuse != 'true' || ( matrix.os == 'ubuntu-latest' && vars.CI_SCOPE == 'full')
10361038 with :
10371039 name : e2e-bin-${{ matrix.os }}
10381040 path : target/e2e-bin.tar.zst
@@ -1807,10 +1809,10 @@ jobs:
18071809
18081810 # The PM-version legs with no boundary of their own: the middle uv lines,
18091811 # Pipenv releases and .NET SDK majors, and bundler 2.7. Skipped
1810- # on pull_request (the `e2e` rows keep every named boundary, the oldest
1811- # and newest release of each tool and every vlt era there); main pushes,
1812- # v5 landings, the nightly schedule and dispatch run them with the `e2e`
1813- # steps.
1812+ # on pull_request, merge_group and main pushes (the `e2e` rows keep every
1813+ # named boundary, the oldest and newest release of each tool and every vlt
1814+ # era there); v5 landings, the nightly schedule and dispatch run them with
1815+ # the `e2e` steps, and so do main pushes when CI_SCOPE is `full` .
18141816
18151817 # Each OS consumes only its own build. A queued macOS runner must not
18161818 # delay Linux or Windows, and a Windows compile must not delay Gradle.
@@ -2262,7 +2264,7 @@ jobs:
22622264 YARN_BERRY_RELEASE : ${{ matrix.yarn }}
22632265 run : scripts/yarn-berry-vex-matrix.sh "$YARN_BERRY_RELEASE"
22642266
2265- # Skipped on pull_request (except v5 landings) , like e2e-full.
2267+ # Nightly, on dispatch and on v5 landings only , like e2e-full.
22662268
22672269 # The macOS rows of `yarn-berry-e2e`: they run on main, the merge queue and
22682270 # nightly, not on every PR push, so PRs stop queueing on the small
@@ -2304,7 +2306,7 @@ jobs:
23042306 # plus macOS and Windows; 1.93.1 with its own lock (on every OS) is the
23052307 # pinned rust-toolchain.toml cell `cargo test` used to give
23062308 # e2e_safety_cargo_build. cargo-vex-matrix-full runs the rest of the
2307- # toolchain x lock cross off pull_request . Each leg also runs
2309+ # toolchain x lock cross nightly and on dispatch . Each leg also runs
23082310 # e2e_safety_cargo_build (its headline test honours the knobs).
23092311 cargo-vex-matrix :
23102312 if : needs.e2e-build.outputs.reuse != 'true'
0 commit comments