Skip to content

Commit 7068698

Browse files
committed
Add Windows runner configurations to matrix
- Add GPU Windows x86_64 configuration - Add CPU Windows x86_64 configuration - Split CUDA image tests by OS (Linux vs Windows) - Use PowerShell for Windows steps - Now testing all 4 combinations: Linux/Windows × GPU/CPU Signed-off-by: cdunning <cdunning@nvidia.com>
1 parent f4be2e0 commit 7068698

1 file changed

Lines changed: 40 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ jobs:
2626
os: linux
2727
gpu: false
2828
timeout: 15
29+
- name: "GPU Windows x86_64"
30+
runner: windows-amd64-gpu-rtxpro6000-latest-1
31+
os: windows
32+
gpu: true
33+
timeout: 30
34+
- name: "CPU Windows x86_64"
35+
runner: windows-amd64-gpu-rtxpro6000-latest-1
36+
os: windows
37+
gpu: false
38+
timeout: 15
2939

3040
steps:
3141
- name: Checkout
@@ -65,8 +75,8 @@ jobs:
6575
Write-Host "CPU-only mode (no GPU access)"
6676
}
6777
68-
- name: Test CUDA Image with GPU
69-
if: matrix.gpu == true
78+
- name: Test CUDA Image with GPU (Linux)
79+
if: matrix.gpu == true && matrix.os == 'linux'
7080
timeout-minutes: 10
7181
run: |
7282
docker pull nvidia/cuda:13.0.2-base-ubuntu24.04
@@ -79,8 +89,8 @@ jobs:
7989
cat /usr/local/cuda/version.txt 2>/dev/null || echo 'CUDA version file not found'
8090
" || echo "GPU access failed - may not be available on this runner"
8191
82-
- name: Test CUDA Image CPU Only
83-
if: matrix.gpu == false
92+
- name: Test CUDA Image CPU Only (Linux)
93+
if: matrix.gpu == false && matrix.os == 'linux'
8494
timeout-minutes: 10
8595
run: |
8696
docker pull nvidia/cuda:13.0.2-base-ubuntu24.04
@@ -91,3 +101,29 @@ jobs:
91101
which nvcc || echo 'nvcc not in PATH'
92102
nvidia-smi 2>/dev/null || echo 'nvidia-smi not available without --gpus flag (expected)'
93103
"
104+
105+
- name: Test CUDA Image with GPU (Windows)
106+
if: matrix.gpu == true && matrix.os == 'windows'
107+
timeout-minutes: 10
108+
shell: pwsh
109+
run: |
110+
docker pull nvidia/cuda:13.0.2-base-ubuntu24.04
111+
Write-Host "=== Testing with GPU access ==="
112+
docker run --rm --gpus all nvidia/cuda:13.0.2-base-ubuntu24.04 bash -c "
113+
echo 'Container with GPU access:'
114+
nvidia-smi || echo 'nvidia-smi not available in container'
115+
cat /etc/os-release
116+
"
117+
118+
- name: Test CUDA Image CPU Only (Windows)
119+
if: matrix.gpu == false && matrix.os == 'windows'
120+
timeout-minutes: 10
121+
shell: pwsh
122+
run: |
123+
docker pull nvidia/cuda:13.0.2-base-ubuntu24.04
124+
Write-Host "=== Testing without GPU access (CPU only) ==="
125+
docker run --rm nvidia/cuda:13.0.2-base-ubuntu24.04 bash -c "
126+
echo 'CUDA container test successful (CPU only - no GPU access)'
127+
cat /etc/os-release
128+
nvidia-smi 2>/dev/null || echo 'nvidia-smi not available without --gpus flag (expected)'
129+
"

0 commit comments

Comments
 (0)