Skip to content

Commit fef9d80

Browse files
fix(ci): revert to standard container + provision cuda
1 parent ae9f23a commit fef9d80

1 file changed

Lines changed: 23 additions & 33 deletions

File tree

.github/workflows/gpu.yml

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ jobs:
99
build-and-test:
1010
name: Build & Test ${{ matrix.package }}
1111
runs-on: ${{ matrix.os }}
12-
container: ${{ matrix.container }}
1312
strategy:
1413
fail-fast: false
1514
matrix:
@@ -19,53 +18,39 @@ jobs:
1918
arch: x64
2019
gpu: cuda
2120
package: linux-x64-cuda
22-
container: nvidia/cuda:12.6.2-devel-ubuntu22.04
2321
- os: ubuntu-22.04
2422
arch: x64
2523
gpu: vulkan
2624
package: linux-x64-vulkan
27-
container: ''
2825

2926
# Linux ARM64 GPU
3027
- os: ubuntu-22.04-arm
3128
arch: arm64
3229
gpu: cuda
3330
package: linux-arm64-cuda
34-
container: nvidia/cuda:12.6.2-devel-ubuntu22.04
3531
- os: ubuntu-22.04-arm
3632
arch: arm64
3733
gpu: vulkan
3834
package: linux-arm64-vulkan
39-
container: ''
4035

4136
# Windows x64 GPU
4237
- os: windows-2022
4338
arch: x64
4439
gpu: cuda
4540
package: win32-x64-cuda
46-
container: ''
4741
- os: windows-2022
4842
arch: x64
4943
gpu: vulkan
5044
package: win32-x64-vulkan
51-
container: ''
5245

5346
# Windows ARM64 Vulkan (cross-compiled)
5447
- os: windows-2022
5548
arch: arm64
5649
gpu: vulkan
5750
package: win32-arm64-vulkan
5851
cross_compile: true
59-
container: ''
6052

6153
steps:
62-
# CUDA container has old git - upgrade before checkout
63-
- name: Upgrade git (CUDA container)
64-
if: matrix.gpu == 'cuda' && runner.os == 'Linux'
65-
run: |
66-
apt-get update
67-
apt-get install -y git
68-
6954
- name: Checkout code
7055
uses: actions/checkout@v4
7156
with:
@@ -77,21 +62,20 @@ jobs:
7762
node-version: 24
7863
registry-url: 'https://registry.npmjs.org'
7964

80-
# Linux build tools (no sudo in containers, sudo for regular runners)
81-
- name: Install build tools (Linux - container)
82-
if: runner.os == 'Linux' && matrix.container != ''
83-
run: |
84-
apt-get update
85-
apt-get install -y build-essential cmake ninja-build
86-
87-
- name: Install build tools (Linux - no container)
88-
if: runner.os == 'Linux' && matrix.container == ''
65+
# Linux build tools
66+
- name: Install build tools (Linux)
67+
if: runner.os == 'Linux'
8968
run: |
9069
sudo apt-get update
9170
sudo apt-get install -y build-essential cmake
9271
93-
# CUDA (skip on Linux - using nvidia/cuda container which has CUDA)
94-
# Container already has CUDA toolkit and driver stubs
72+
# CUDA
73+
- name: Provision CUDA toolkit (Linux)
74+
if: matrix.gpu == 'cuda' && runner.os == 'Linux'
75+
uses: ./.github/actions/provision-cuda
76+
with:
77+
version: '12.6.2'
78+
arch: ${{ matrix.arch }}
9579

9680
- name: Provision CUDA toolkit (Windows)
9781
if: matrix.gpu == 'cuda' && runner.os == 'Windows'
@@ -208,17 +192,23 @@ jobs:
208192
if ($env:VULKAN_SDK) {
209193
$env:PATH = "$env:VULKAN_SDK\Bin;$env:PATH"
210194
Write-Host "Added Vulkan SDK Bin to PATH: $env:VULKAN_SDK\Bin"
211-
}
212-
213-
# Add CUDA runtime to PATH if available
214-
if ($env:CUDA_PATH) {
215-
$env:PATH = "$env:CUDA_PATH\bin;$env:PATH"
216-
Write-Host "Added CUDA bin to PATH: $env:CUDA_PATH\bin"
195+
Write-Host "Vulkan SDK Bin contents:"
196+
Get-ChildItem "$env:VULKAN_SDK\Bin" -Filter "*.dll" | Select-Object Name
217197
}
218198
219199
Write-Host "Package bin: $pkgBin"
200+
Write-Host "Package bin contents:"
201+
Get-ChildItem $pkgBin
220202
Write-Host "VULKAN_SDK: $env:VULKAN_SDK"
221-
Write-Host "CUDA_PATH: $env:CUDA_PATH"
203+
204+
# Check if vulkan-1.dll exists
205+
$vulkanDll = "$env:VULKAN_SDK\Bin\vulkan-1.dll"
206+
if (Test-Path $vulkanDll) {
207+
Write-Host "vulkan-1.dll found at: $vulkanDll"
208+
} else {
209+
Write-Host "WARNING: vulkan-1.dll NOT found at: $vulkanDll"
210+
}
211+
222212
node -e "
223213
const { loadBinary } = require('./lib');
224214
const addon = loadBinary();

0 commit comments

Comments
 (0)