fix(ci): use nvidia RuntimeClass instead of pod_spec for GPU access

Replace pod_spec strategic merge patch (silently not applied) with
runtime_class_name="nvidia". The nvidia RuntimeClass uses the
nvidia-container-runtime which injects GPU drivers, nvidia-smi, and
/dev/nvidia* devices into all containers automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-02-25 19:04:18 +01:00
parent f3335d87bb
commit 9cd9fba859

View File

@@ -37,6 +37,8 @@ runners:
helper_memory_request = "128Mi"
helper_memory_limit = "512Mi"
image_pull_secrets = ["scw-registry", "gitlab-registry"]
# Use nvidia RuntimeClass — injects GPU drivers + /dev/nvidia* via nvidia-container-runtime
runtime_class_name = "nvidia"
# Sub-tables must come AFTER all scalar values (TOML rule)
[runners.kubernetes.node_selector]
"k8s.scaleway.com/pool-name" = "gpu-training"
@@ -44,11 +46,6 @@ runners:
"nvidia.com/gpu" = "NoSchedule"
[runners.kubernetes.pod_labels]
"app.kubernetes.io/part-of" = "foxhunt-ci"
# Request GPU so NVIDIA device plugin injects /dev/nvidia* into build pods
[[runners.kubernetes.pod_spec]]
name = "build"
patch_type = "strategic"
patch = '{"spec":{"containers":[{"name":"build","resources":{"limits":{"nvidia.com/gpu":"1"},"requests":{"nvidia.com/gpu":"1"}}}]}}'
# Runner tags for job matching
tags: "kapsule,rust,docker,gpu"