ci(#1975): exclude release-tarball-smoke from scoped lane (fixes Windows chunk timeout)

This consolidation PR's breadth (28 changed test files) exposed a scoped-test-lane
capacity limit: ci-test-scope pulls the 3–6 min release-tarball-smoke.install.test.cjs
(npm pack + npm install -g, 10MB/1499 files) into the targeted+windows lane whenever
install files change AND when it is itself a changed file — bundling it with the other
27 files overran the 600s per-chunk timeout on windows-latest-24 (deterministic).

release-tarball-smoke has its OWN dedicated workflow (.github/workflows/install-smoke.yml,
triggered on the production install paths), so its scoped-lane run is redundant. Add a
SCOPED_LANE_EXCLUDE guard that drops it from both targeted_tests and windows_tests however
it entered (matched rule OR changed-file), and remove it from the install rule's tests list.
Update the ci-test-scope.test.cjs assertion accordingly. No coverage lost.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-03 08:48:33 -04:00
parent b2ed7940c9
commit 241b08fa18
2 changed files with 26 additions and 2 deletions

View File

@@ -161,7 +161,13 @@ describe('ci-test-scope.cjs', () => {
`expected product_changed=true for bin/gsd, got: ${JSON.stringify(result)}`);
assert.strictEqual(result.full_matrix, true);
assert.ok(result.targeted_tests.includes('tests/install.test.cjs'));
assert.ok(result.targeted_tests.includes('tests/release-tarball-smoke.install.test.cjs'));
// release-tarball-smoke.install.test.cjs is intentionally EXCLUDED from the
// scoped/targeted lane (SCOPED_LANE_EXCLUDE in ci-test-scope.cjs): it is a
// 3–6 min npm-pack + global-install integration test that runs via its own
// install-smoke.yml workflow, not here — running it in the scoped lane too is
// redundant and overran the per-chunk Windows timeout (epic #1969).
assert.ok(!result.targeted_tests.includes('tests/release-tarball-smoke.install.test.cjs'),
`release-tarball-smoke.install.test.cjs must not be in the scoped targeted lane; got: ${JSON.stringify(result.targeted_tests)}`);
});
test('missing required CLI values fail with usage', () => {