Repository navigation
ci: cut queue pressure in unit-tests (#1052) - #1055
Conversation
b00096a to
442ebcd
Compare
|
Cross-review verdict on
Confirmed:
|
442ebcd to
1f075fb
Compare
|
Cross-review verdict on
|
1f075fb to
9224e70
Compare
- engine-tests: fold the 36 Python x engine jobs into one job per engine that loops over 3.10-3.15 in fresh venvs; 3.15 is a step with continue-on-error. - changes/project-tests: classify PR diffs; a docs-only PR skips test, integration, engine-tests and pypcap-parity and runs tests/project instead. - required-checks: accept skipped legs only when changes reports a docs-only diff, and then require project-tests. - unittest-ordering: off pull requests; --verbose and a 20-minute step cap on its run step. - apt steps: 5-minute cap with one bounded retry of update+install. - docs: refresh the unit-tests.yml citations in workflows.rst and releasing.rst; add tests/project/test_unit_tests_queue.py.
9224e70 to
c7a047e
Compare
|
Coverage: 88.74% (unit tier, Python 3.14,
Per-file detail: the |
|
Cross-review verdict on
|
Part of #1052:
--verbosefrom A, plus C, E, G and H. B, D and F follow in sibling PRs.make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
fix— corrects a defectfeat— adds a featureperf— changes performance, not behaviourrefactor— changes neither behaviour nor performancetest— tests onlydocs— documentation onlyci— workflows or build toolingchore— anything elseDescription of your pull request and other information
engine-testsis now one job per engine. Each job loops over 3.10–3.15, one venv per Python version, and every cell gets its own log group, annotations and summary row. 3.15 runs as a separate step withcontinue-on-error. No required check names an engine job.changesjob classifies the PR diff. On a docs-only PR the four test legs are skipped andproject-testsruns instead.required-checksacceptsskippedonly in that case.unittest-orderingno longer runs on PRs. Its run step gets--verboseand a 20-minute step cap. The apt steps are capped at 5 minutes, with one bounded retry; the slowest of 120 observed runs took 34s.tests/project/test_unit_tests_queue.py(30 tests) runs the gate shell, the classifier (against a scratch merge commit), the cell loops and the apt retry, and checks thatproject-testsruns every test that readsdocs/or Markdown.Unit Tests jobs per code PR push: 62 listed / 61 run before, 24 listed / 21 run after (docs-only, by construction: 4). On
b00096a59, each engine job took 2.2–3.8 min, all 35 checks passed, and the Python 3.14 leg needed one re-run: the first attempt was killed by a runner shutdown at 41 min.