@@ -33,19 +33,33 @@ jobs:
3333 os : macos-latest
3434 features : metal
3535 archive : tar.gz
36+ artifact_suffix : " "
3637 # x86_64-apple-darwin removed: ort (via piper-rs) has no prebuilt
3738 # binaries for Intel Macs. Intel Macs are EOL.
3839 - target : x86_64-unknown-linux-gnu
3940 os : ubuntu-latest
4041 features : " "
4142 archive : tar.gz
4243 deps : libasound2-dev
43- # TODO: aarch64-unknown-linux-gnu requires cross-compilation setup
44- # Re-enable once CI cross-compile is working (#56)
44+ artifact_suffix : " "
45+ - target : x86_64-unknown-linux-gnu
46+ os : ubuntu-latest
47+ features : cuda
48+ archive : tar.gz
49+ deps : libasound2-dev
50+ cuda : true
51+ artifact_suffix : " -cuda"
4552 - target : x86_64-pc-windows-msvc
4653 os : windows-latest
4754 features : " "
4855 archive : zip
56+ artifact_suffix : " "
57+ - target : x86_64-pc-windows-msvc
58+ os : windows-latest
59+ features : cuda
60+ archive : zip
61+ cuda : true
62+ artifact_suffix : " -cuda"
4963
5064 steps :
5165 - name : Checkout
@@ -56,35 +70,43 @@ jobs:
5670 with :
5771 targets : ${{ matrix.target }}
5872
59- - name : Install system deps (Linux native )
60- if : matrix.deps != '' && matrix.cross != true
73+ - name : Install system deps (Linux)
74+ if : matrix.deps != ''
6175 run : |
6276 sudo apt-get update
6377 sudo apt-get install -y ${{ matrix.deps }}
6478
79+ - name : Install CUDA toolkit
80+ if : matrix.cuda == true
81+ uses : Jimver/cuda-toolkit@v0.2.22
82+ with :
83+ cuda : ' 12.6.3'
84+ method : network
85+ sub-packages : ' ["nvcc", "cudart"]'
86+
6587 - name : Build
6688 run : cargo build --release --target ${{ matrix.target }} ${{ matrix.features != '' && format('--features {0}', matrix.features) || '' }}
6789
6890 - name : Package (tar.gz)
6991 if : matrix.archive == 'tar.gz'
7092 run : |
7193 cd target/${{ matrix.target }}/release
72- tar -czvf ../../../vox-${{ matrix.target }}.${{ matrix.archive }} vox
94+ tar -czvf ../../../vox-${{ matrix.target }}${{ matrix.artifact_suffix }} .${{ matrix.archive }} vox
7395 cd ../../..
7496
7597 - name : Package (zip)
7698 if : matrix.archive == 'zip'
7799 shell : bash
78100 run : |
79101 cd target/${{ matrix.target }}/release
80- 7z a ../../../vox-${{ matrix.target }}.zip vox.exe
102+ 7z a ../../../vox-${{ matrix.target }}${{ matrix.artifact_suffix }} .zip vox.exe
81103 cd ../../..
82104
83105 - name : Upload artifact
84106 uses : actions/upload-artifact@v4
85107 with :
86- name : vox-${{ matrix.target }}
87- path : vox-${{ matrix.target }}.${{ matrix.archive }}
108+ name : vox-${{ matrix.target }}${{ matrix.artifact_suffix }}
109+ path : vox-${{ matrix.target }}${{ matrix.artifact_suffix }} .${{ matrix.archive }}
88110
89111 release :
90112 name : Upload Release Assets
0 commit comments