The root QA test group has not completed a run in CI recently. It is not a test failure — the job is killed part-way through.
Evidence
| commit |
job |
outcome |
annotation |
2c31d86323 (master, #4880 merge) |
92750873732 |
failure |
"The self-hosted runner lost communication with the server." |
82dee851d6 (master) |
92939171244 |
failure |
same |
453c45c08e (master, current head) |
92967338349 |
failure |
"The operation was canceled." |
b2692a1bc6 (#4883) |
92988983176 |
failure |
"The self-hosted runner lost communication with the server." |
The b2692a1bc6 job ran 20:26:03Z → 21:15:06Z — 49 minutes — on self-hosted-4vcpu-16gb-dpg5l-runner-cmq2q before dying.
Likely cause
run_qa runs JET.report_package(ModelingToolkit; target_defined_modules = true), which is by far the heaviest thing in the group. Locally the whole test/qa/qa.jl takes 30m11s wall on Julia 1.12.6, with JET dominating and the Aqua Persistent tasks check adding another 30s; on Julia 1.10 the same file takes 3m42s, so the cost is very lopsided toward the newer compiler.
That is the same profile test/test_groups.toml already documents for two other groups:
# Memory-heavy (OOM-killed on the 4vcpu/8GB self-hosted runners, esp. on `pre`).
# Route to a GitHub-hosted runner (~16GB). `ubuntu-24.04` forces GitHub-hosted
# since the self-hosted pool only carries the `ubuntu-latest` label.
runner = "ubuntu-24.04"
[Initialization] and [FMI] carry that; [QA] does not:
[QA]
versions = ["lts", "1"]
The obvious thing to try is giving [QA] the same runner = "ubuntu-24.04". I have not verified that it fixes it — it is a CI-infrastructure change I cannot reproduce locally, so I am filing it rather than sending a speculative PR.
Secondary: the declared lts QA job is never created
[QA] declares versions = ["lts", "1"], but only a julia 1 job is ever created. Checked on 2c31d86323, 82dee851d6, 453c45c08e and b2692a1bc6 — in every workflow run the only QA job is tests / QA (julia 1, ubuntu-latest), and gh api .../actions/runs/<id>/jobs confirms there is no lts counterpart, while every other group gets all of its declared versions.
So whatever compute_affected_sublibraries.jl --root-matrix does with the [QA] entry, the lts half of the declared matrix is being dropped. That matters because ExplicitImports behaves differently before Julia 1.12 (see #4903) — those findings are invisible to CI today.
Impact
The QA lane cannot go green on any PR right now, so #4883 and #4881 have to be reviewed on locally-run evidence rather than on a CI result.
The root
QAtest group has not completed a run in CI recently. It is not a test failure — the job is killed part-way through.Evidence
2c31d86323(master, #4880 merge)82dee851d6(master)453c45c08e(master, current head)b2692a1bc6(#4883)The
b2692a1bc6job ran 20:26:03Z → 21:15:06Z — 49 minutes — onself-hosted-4vcpu-16gb-dpg5l-runner-cmq2qbefore dying.Likely cause
run_qarunsJET.report_package(ModelingToolkit; target_defined_modules = true), which is by far the heaviest thing in the group. Locally the wholetest/qa/qa.jltakes 30m11s wall on Julia 1.12.6, with JET dominating and the AquaPersistent taskscheck adding another 30s; on Julia 1.10 the same file takes 3m42s, so the cost is very lopsided toward the newer compiler.That is the same profile
test/test_groups.tomlalready documents for two other groups:[Initialization]and[FMI]carry that;[QA]does not:The obvious thing to try is giving
[QA]the samerunner = "ubuntu-24.04". I have not verified that it fixes it — it is a CI-infrastructure change I cannot reproduce locally, so I am filing it rather than sending a speculative PR.Secondary: the declared
ltsQA job is never created[QA]declaresversions = ["lts", "1"], but only ajulia 1job is ever created. Checked on2c31d86323,82dee851d6,453c45c08eandb2692a1bc6— in every workflow run the only QA job istests / QA (julia 1, ubuntu-latest), andgh api .../actions/runs/<id>/jobsconfirms there is noltscounterpart, while every other group gets all of its declared versions.So whatever
compute_affected_sublibraries.jl --root-matrixdoes with the[QA]entry, theltshalf of the declared matrix is being dropped. That matters because ExplicitImports behaves differently before Julia 1.12 (see #4903) — those findings are invisible to CI today.Impact
The QA lane cannot go green on any PR right now, so #4883 and #4881 have to be reviewed on locally-run evidence rather than on a CI result.