Fix Windows Vulkan driver discovery and add fast graphics-data checks
This commit is contained in:
@@ -19,6 +19,32 @@ jobs:
|
||||
- name: Windows compiler environment
|
||||
if: runner.os == 'Windows'
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756
|
||||
- name: Identify pinned Windows Vulkan SDK cache
|
||||
if: runner.os == 'Windows'
|
||||
id: vulkan-identity
|
||||
run: python tools/ci/prepare_windows_vulkan.py --cache-key
|
||||
- name: Restore Windows Vulkan SDK
|
||||
if: runner.os == 'Windows'
|
||||
id: vulkan-sdk-cache
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830
|
||||
with:
|
||||
key: ${{ steps.vulkan-identity.outputs.key }}-loader-only
|
||||
restore-keys: |
|
||||
${{ steps.vulkan-identity.outputs.key }}
|
||||
${{ steps.vulkan-identity.outputs.legacy }}
|
||||
path: .cache/windows-graphics/sdk
|
||||
- name: Build Windows Vulkan headers and loader without a GPU driver
|
||||
if: runner.os == 'Windows'
|
||||
run: python tools/ci/prepare_windows_vulkan.py --loader-only
|
||||
- name: Save successfully built Windows Vulkan SDK
|
||||
if: runner.os == 'Windows' && steps.vulkan-sdk-cache.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830
|
||||
with:
|
||||
key: ${{ steps.vulkan-sdk-cache.outputs.cache-primary-key }}
|
||||
path: .cache/windows-graphics/sdk
|
||||
- name: Fetch Windows Slang compiler
|
||||
if: runner.os == 'Windows'
|
||||
run: python tools/fetch_slang.py
|
||||
- name: Linux build tools
|
||||
if: runner.os == 'Linux'
|
||||
run: sudo apt-get update && sudo apt-get install -y clang ninja-build
|
||||
@@ -27,7 +53,7 @@ jobs:
|
||||
run: cmake --preset linux-debug -DFASET_BUILD_RENDERER=OFF -DFASET_BUILD_EDITOR=OFF
|
||||
- name: Configure Windows
|
||||
if: runner.os == 'Windows'
|
||||
run: cmake --preset windows-debug -DFASET_BUILD_RENDERER=OFF -DFASET_BUILD_EDITOR=OFF
|
||||
run: cmake --preset windows-debug -DFASET_BUILD_RENDERER=ON -DFASET_BUILD_EDITOR=OFF
|
||||
- name: Build Linux
|
||||
if: runner.os == 'Linux'
|
||||
run: cmake --build --preset linux-debug --parallel 2
|
||||
@@ -39,7 +65,17 @@ jobs:
|
||||
run: ctest --preset linux-debug
|
||||
- name: Test Windows
|
||||
if: runner.os == 'Windows'
|
||||
run: ctest --preset windows-debug
|
||||
run: ctest --preset windows-debug -LE gpu
|
||||
- name: Preserve Windows CPU test evidence
|
||||
if: always() && runner.os == 'Windows'
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
|
||||
with:
|
||||
name: windows-cpu-evidence
|
||||
if-no-files-found: warn
|
||||
include-hidden-files: true
|
||||
path: |
|
||||
.cache/windows-graphics/toolchain.json
|
||||
build/windows-debug/Testing/Temporary/LastTest.log
|
||||
manual:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
|
||||
@@ -21,11 +21,15 @@ jobs:
|
||||
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756
|
||||
with:
|
||||
arch: x64
|
||||
- name: Identify pinned Vulkan source cache
|
||||
id: vulkan-identity
|
||||
run: python tools/ci/prepare_windows_vulkan.py --cache-key
|
||||
- name: Restore pinned Vulkan test tools
|
||||
id: vulkan-cache
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830
|
||||
with:
|
||||
key: windows-2025-vulkan-${{ hashFiles('tools/ci/prepare_windows_vulkan.py') }}
|
||||
key: ${{ steps.vulkan-identity.outputs.key }}
|
||||
restore-keys: ${{ steps.vulkan-identity.outputs.legacy }}
|
||||
path: |
|
||||
.cache/windows-graphics/sdk
|
||||
.cache/windows-graphics/driver
|
||||
@@ -39,6 +43,10 @@ jobs:
|
||||
path: |
|
||||
.cache/windows-graphics/sdk
|
||||
.cache/windows-graphics/driver
|
||||
- name: Probe Vulkan loader and SwiftShader before compiling the engine
|
||||
env:
|
||||
VK_LOADER_DEBUG: all
|
||||
run: python tools/ci/probe_windows_vulkan.py
|
||||
- name: Fetch checksum-verified Slang compiler
|
||||
run: python tools/fetch_slang.py
|
||||
- name: Configure full editor and Player
|
||||
@@ -46,6 +54,8 @@ jobs:
|
||||
- name: Build full editor and tests
|
||||
run: cmake --build --preset windows-debug --parallel 2
|
||||
- name: CPU contracts and software GPU pixel tests
|
||||
env:
|
||||
VK_LOADER_DEBUG: error,warn,driver
|
||||
run: ctest --preset windows-debug --timeout 180
|
||||
- name: Real Release exports, 2D and 3D execution, incremental Debug rebuild
|
||||
run: build/windows-debug/faset_build_service_tests.exe --integration .cache/windows-export-e2e
|
||||
@@ -61,6 +71,9 @@ jobs:
|
||||
include-hidden-files: true
|
||||
path: |
|
||||
.cache/windows-graphics/toolchain.json
|
||||
.cache/windows-graphics/probe.json
|
||||
.cache/windows-graphics/driver/*.json
|
||||
.cache/windows-graphics/sdk/source-identity.json
|
||||
build/windows-debug/Testing/Temporary/LastTest.log
|
||||
build/windows-debug/*test.ppm
|
||||
.cache/windows-export-e2e/result-*.json
|
||||
|
||||
Reference in New Issue
Block a user