Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ jobs:
- {suite: browser-integration, shard: 2, shards: 3}
- {suite: browser-integration, shard: 3, shards: 3}
runs-on: ubuntu-latest
timeout-minutes: 15
timeout-minutes: ${{ matrix.suite == 'browser-conformance' && 20 || 15 }}
env:
UV_PYTHON: '3.14.7'
steps:
Expand Down
8 changes: 8 additions & 0 deletions docs/interpreter-exceptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -566,3 +566,11 @@ count divided by ten, matching the shared validation inventory's cost basis.
Small selections retain the existing bound; semantic execution, work/allocation
limits and timeout/failure diagnostics are unchanged. This addresses the two
fixed-deadline Linux CI failures in the first batch's stepped/parked matrix.

LA-58B retains the complete browser matrix with a finite 20-minute conformance
job bound; integration jobs keep their 15-minute limit. Two 15-minute CI
attempts reached the final compatibility check after their preceding checks
passed. The identical complete 44-check shard passes locally in 485.824 seconds.
All six conformance and three integration shards, reports and semantic/resource
limits are retained; the deterministic partition test uses the actual six
conformance shards. Interpreter/package/offline acceptance evidence is reused.
2 changes: 1 addition & 1 deletion tests/test_test_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def test_focused_selection_contains_only_matching_node_checks(self):
self.assertEqual({check.suite for check in selected}, {'node-unit', 'node-conformance'})

def test_shards_are_complete_disjoint_balanced_and_deterministic(self):
for suite, count in [('interpreter', 4), ('browser-conformance', 4), ('browser-integration', 3)]:
for suite, count in [('interpreter', 4), ('browser-conformance', 6), ('browser-integration', 3)]:
with self.subTest(suite=suite):
selected = run_tests.select_checks([suite])
groups = run_tests.shards(selected, count)
Expand Down