@@ -93,19 +93,13 @@ jobs:
9393 run : |
9494 echo "VULKAN_SDK_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.txt)" >> "$GITHUB_ENV"
9595
96- - name : Use Vulkan SDK Cache
97- uses : actions/cache@v5
98- id : cache-sdk
99- with :
100- path : ./vulkan_sdk
101- key : cache-gha-vulkan-sdk-${{ env.VULKAN_SDK_VERSION }}-${{ runner.os }}
102-
10396 - name : Setup Vulkan SDK
104- if : steps.cache-sdk.outputs.cache-hit != 'true'
105- uses : ./.github/actions/linux-setup-vulkan
97+ id : setup
98+ uses : ./.github/actions/unarchive-tar
10699 with :
100+ url : https://sdk.lunarg.com/sdk/download/${{ env.VULKAN_SDK_VERSION }}/linux/vulkan_sdk.tar.xz
107101 path : ./vulkan_sdk
108- version : ${{ env.VULKAN_SDK_VERSION }}
102+ strip : 1
109103
110104 - name : ccache
111105 uses : ggml-org/ccache-action@v1.2.21
@@ -133,3 +127,56 @@ jobs:
133127 # This is using llvmpipe and runs slower than other backends
134128 # test-backend-ops is too slow on llvmpipe, skip it
135129 ctest -L main -E test-backend-ops --verbose --timeout 900
130+
131+ windows :
132+ runs-on : windows-2025
133+
134+ env :
135+ VULKAN_VERSION : 1.4.357.0
136+
137+ steps :
138+ - name : Clone
139+ id : checkout
140+ uses : actions/checkout@v6
141+
142+ - name : ccache
143+ uses : ggml-org/ccache-action@v1.2.21
144+ with :
145+ key : cpu-windows-2025-x64-vulkan
146+ variant : ccache
147+ evict-old-files : 1d
148+ save : ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
149+
150+ - name : Install Vulkan SDK
151+ id : get_vulkan
152+ run : |
153+ curl.exe -o $env:RUNNER_TEMP/VulkanSDK-Installer.exe -L "https://sdk.lunarg.com/sdk/download/${env:VULKAN_VERSION}/windows/vulkansdk-windows-X64-${env:VULKAN_VERSION}.exe"
154+ & "$env:RUNNER_TEMP\VulkanSDK-Installer.exe" --accept-licenses --default-answer --confirm-command install
155+ Add-Content $env:GITHUB_ENV "VULKAN_SDK=C:\VulkanSDK\${env:VULKAN_VERSION}"
156+ Add-Content $env:GITHUB_PATH "C:\VulkanSDK\${env:VULKAN_VERSION}\bin"
157+
158+ - name : Install Ninja
159+ id : install_ninja
160+ run : |
161+ choco install ninja
162+
163+ - name : Build
164+ id : cmake_build
165+ run : |
166+ cmake -S . -B build -G "Ninja Multi-Config" `
167+ -D CMAKE_TOOLCHAIN_FILE=cmake/x64-windows-llvm.cmake `
168+ -DCMAKE_BUILD_TYPE=Release `
169+ -DGGML_NATIVE=OFF `
170+ -DLLAMA_BUILD_SERVER=ON `
171+ -DGGML_RPC=ON `
172+ -DGGML_BACKEND_DL=ON `
173+ -DGGML_CPU_ALL_VARIANTS=ON `
174+ -DGGML_VULKAN=ON `
175+ -DLLAMA_BUILD_BORINGSSL=ON
176+ cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS}
177+
178+ - name : Test
179+ id : cmake_test
180+ run : |
181+ cd build
182+ ctest -L main -C Release --verbose --timeout 900
0 commit comments