You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI and documentation: add the kkt GPU runner (CI job, docs build), keep occidata #977
The kkt self-hosted GPU runner is online again (gh api orgs/control-toolbox/actions/runners lists kkt, occidata-runner and pinwheel), and it is faster than occidata. Use it in the CI and in the documentation build, next to occidata.
What to change
.github/workflows/CI.yml: add a job test-gpu-kkt, a copy of test-gpu-occidata, triggered by the label run ci kkt-runner (the label already exists in the repository) and with runs_on: '[["kkt"]]', runner_type: 'self-hosted'. Keep the if: condition on the specific label, as for the other jobs.
.github/workflows/Documentation.yml (gpu_runner: '["occidata"]'): switch to '["kkt"]', since the build is faster there. Update the comments that describe occidata (cold build of 2265 s, the shared box, the Monday cache purge): the timing has to be measured again on kkt, and gpu_timeout_minutes adjusted if it turns out to be much shorter. Check that the push to the gh-pages branch works from this runner, as it was confirmed for occidata (CTActions#71).
Tests that check the runner name: test/runtests.jl already matches ("kkt", "occidata") on RUNNER_NAME, and the environment-contract test uses it (ON_GPU_RUNNER). So the loud failure for a missing GPU already covers both. To verify, then:
grep for any other check on one name only (test/suite/flows/test_gpu_routing.jl, the comments in test/suite/environment/test_environment_contract.jl), and update the comments;
run the GPU job on kkt once, to see that the GPU tests are not skipped (CUDA_FUNCTIONAL, GPU_EXTENSION_ARMED).
Done — the Handbook's WORKFLOWS.md moved to CTActions, whose docs/conventions/runners.md now says that kkt is back in service since 2026-10-15. Original text: Handbook (WORKFLOWS.md, section on the labels and runners): it said that kkt is retired and "fully retired", and that the label kkt-runner should be deleted. This is no longer true; it has to be corrected in the Handbook, otherwise the next reader will remove what this issue adds.
Also
Related: control-toolbox/CTFlows.jl#412 (GPU test guards compared RUNNER_NAME with kkt only; the same rule, with both names), #885 and #946 (GPU documentation on occidata), and #976 (documentation of the GPU for the indirect method, which will use the same build).
Activity