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 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-02-25 14:59:24 +01:00
parent b84e14e175
commit 0cd762892b

View File

@@ -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)