From 0cd762892b50a38c66fe53440ecb7abecb4dde23 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Wed, 25 Feb 2026 14:59:24 +0100 Subject: [PATCH] fix(ci): exclude ml crate from CPU tests, add manual GPU test job 52 ml tests require real CUDA (DQN, TFT, ensemble, flash_attention, QAT, trainers). Exclude ml from workspace tests on CPU CI nodes. Add test-gpu job (manual) for running ml tests on GPU hardware. Also upgraded ci-build pool from GP1-XS to GP1-S (8 vCPUs, 32GB). Co-Authored-By: Claude Opus 4.6 --- .gitlab-ci.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef1566703..c623191be 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,10 +81,22 @@ test: stage: test needs: [check] script: - # Stub libcuda.so.1 lets CUDA-linked binaries load; GPU tests skipped (run on gpu nodes) + # Stub libcuda.so.1 lets CUDA-linked binaries load on GPU-less nodes - ln -sf /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 || true - export LD_LIBRARY_PATH="/usr/local/cuda/lib64/stubs:${LD_LIBRARY_PATH}" - - cargo test --workspace --lib -- --skip model_loader::tests + # Run all workspace tests EXCEPT ml crate (52 CUDA-dependent tests need real GPU) + - cargo test --workspace --exclude ml --lib -- --skip model_loader::tests + +# GPU test job — runs ml crate tests on real CUDA hardware +# TODO: Configure GPU runner with node_selector targeting gpu-inference pool +test-gpu: + extends: .rust-base + stage: test + needs: [check] + when: manual + allow_failure: true + script: + - cargo test -p ml --lib # -------------------------------------------------------------------------- # Stage 3: Build + push service images (main only, Kaniko → GitLab registry)