CI and documentation: add the kkt GPU runner (CI job, docs build), keep occidata

Abierto
#977 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@ocots ya está trabajando en esto.

Desde el 11/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Summary

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

  1. .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.
  2. .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).
  3. 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).
  4. 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).

Lenguaje dominante
Julia
Estrellas
135
Forks
11
Merge medio
7 h 51 min
PR fusionados (30 d)
22

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de control-toolbox/OptimalControl.jl

Todos los issues de control-toolbox/OptimalControl.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.