Problem
The wheels job builds universal pure-Python wheels under both Python 3.13 and 3.14, installs them, calculates runtime specification digests, and reruns the complete behavioral test suite. Recent successful wheel builds take a median of four seconds and a 90th-percentile time of five seconds, but the duplicated test execution can occupy both runners for hours.
The existing test jobs already provide behavioral coverage. The wheel job should validate the published artifacts themselves.
Proposed change
- Build every package wheel once under Python 3.13.
- Inspect each wheel against its corresponding
src/ tree.
- Detect missing package files, empty wheels, namespace errors, and common archive-content mistakes.
- Remove the clean installation, runtime digest calculation, and duplicated pytest execution from this job.
- Keep the existing behavioral test jobs unchanged.
Acceptance criteria
- CI produces and inspects one wheel for every package shard.
- Inspection fails when a wheel omits files from its source tree or contains unexpected files.
- The wheel job does not run pytest.
- Repository CI documentation describes the revised responsibility of the wheel job.
Problem
The
wheelsjob builds universal pure-Python wheels under both Python 3.13 and 3.14, installs them, calculates runtime specification digests, and reruns the complete behavioral test suite. Recent successful wheel builds take a median of four seconds and a 90th-percentile time of five seconds, but the duplicated test execution can occupy both runners for hours.The existing test jobs already provide behavioral coverage. The wheel job should validate the published artifacts themselves.
Proposed change
src/tree.Acceptance criteria