Updated Tools and FX #1184
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Win32/UWP build | |
on: [push, pull_request] | |
jobs: | |
precheks: | |
runs-on: windows-latest | |
name: Win10 -> Pre-checks | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true # only need direct submodules | |
- name: DiligentCore format validation | |
shell: cmd | |
working-directory: ${{github.workspace}}\DiligentCore\BuildTools\FormatValidation | |
run: validate_format_win.bat | |
- name: DiligentTools format validation | |
working-directory: ${{github.workspace}}\DiligentTools\BuildTools\FormatValidation | |
shell: cmd | |
run: validate_format_win.bat | |
- name: DiligentFX format validation | |
working-directory: ${{github.workspace}}\DiligentFX\BuildTools\FormatValidation | |
shell: cmd | |
run: validate_format_win.bat | |
- name: DiligentSamples format validation | |
working-directory: ${{github.workspace}}\DiligentSamples\BuildTools\FormatValidation | |
shell: cmd | |
run: validate_format_win.bat | |
build: | |
needs: precheks | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
name: ["Win10"] | |
toolset: ["Win32", "x64"] | |
build_type: ["Debug", "Release"] | |
cmake_generator: ["Visual Studio 17 2022"] | |
cmake_args: ["-DDILIGENT_BUILD_TESTS=ON -DDILIGENT_NO_WEBGPU=OFF"] | |
platform: ["Win32"] | |
build_args: ["-- -restore"] | |
include: | |
- name: "Win10-Dev" | |
platform: "Win32" | |
toolset: "x64" | |
build_type: "RelWithDebInfo" | |
cmake_generator: "Visual Studio 17 2022" | |
cmake_args: "-DDILIGENT_BUILD_CORE_TESTS=ON -DDILIGENT_BUILD_TOOLS_TESTS=ON -DDILIGENT_DEVELOPMENT=ON" | |
build_args: "-- -restore" | |
- name: "Win10-Ninja" | |
platform: "Win32" | |
toolset: "x64" | |
build_type: "Debug" | |
cmake_generator: "Ninja" | |
cmake_args: "-DDILIGENT_BUILD_CORE_TESTS=ON -DDILIGENT_BUILD_TOOLS_TESTS=ON" | |
- name: "MinGW" | |
platform: "Win32" | |
toolset: "x64" | |
build_type: "Release" # Debug build is unbelievably slow | |
cmake_generator: "MinGW Makefiles" | |
cmake_args: "-DDILIGENT_BUILD_CORE_TESTS=ON -DDILIGENT_BUILD_TOOLS_TESTS=ON" | |
- name: "UWP" | |
platform: "UWP" | |
toolset: "x64" | |
build_type: "Debug" | |
cmake_generator: "Visual Studio 17 2022" | |
cmake_args: "-DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0" | |
- name: "UWP" | |
platform: "UWP" | |
toolset: "x64" | |
build_type: "Release" | |
cmake_generator: "Visual Studio 17 2022" | |
cmake_args: "-DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0" | |
name: Win10 -> ${{ matrix.name }}-${{ matrix.toolset }}, ${{ matrix.build_type }} | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Clone Test Data | |
if: success() | |
uses: actions/checkout@v4 | |
with: | |
repository: DiligentGraphics/DiligentTestData | |
path: DiligentTestData | |
- name: Set up build environment | |
if: success() | |
uses: DiligentGraphics/github-action/setup-build-env@v1 | |
with: | |
platform: ${{ matrix.platform }} | |
cmake-generator: ${{ matrix.cmake_generator }} | |
ninja-vs-arch: ${{ matrix.toolset }} | |
- name: Configure CMake | |
if: success() | |
uses: DiligentGraphics/github-action/configure-cmake@v1 | |
with: | |
generator: ${{ matrix.cmake_generator }} | |
vs-arch: ${{ matrix.toolset }} | |
build-type: ${{ matrix.build_type }} | |
cmake-args: ${{ matrix.cmake_args }} | |
- name: Build | |
id: build | |
if: success() | |
uses: DiligentGraphics/github-action/build@v1 | |
with: | |
build-args: ${{ matrix.build_args }} | |
# Core tests | |
- name: DiligentCoreTest | |
if: ${{ success() && matrix.name != 'UWP'}} | |
uses: DiligentGraphics/github-action/run-core-tests@v1 | |
- name: DiligentCoreAPITest D3D11 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && (matrix.name == 'Win10' || matrix.name == 'Win8.1') }} | |
uses: DiligentGraphics/github-action/run-core-gpu-tests@v1 | |
with: | |
mode: d3d11_sw | |
- name: DiligentCoreAPITest D3D12 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name == 'Win10' }} | |
uses: DiligentGraphics/github-action/run-core-gpu-tests@v1 | |
with: | |
mode: d3d12_sw | |
- name: DiligentCoreAPITest D3D12 DXC | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name == 'Win10' }} | |
uses: DiligentGraphics/github-action/run-core-gpu-tests@v1 | |
with: | |
mode: d3d12_sw | |
use-dxc: true | |
# Disable texture creation tests that are not relevant for DXC to save time | |
args: --gtest_filter=-TextureCreation* | |
- name: DiligentCoreAPITest WebGPU | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name == 'Win10' }} | |
uses: DiligentGraphics/github-action/run-core-gpu-tests@v1 | |
with: | |
mode: wgpu | |
# Tools tests | |
- name: DiligentToolsTest | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name != 'UWP'}} | |
uses: DiligentGraphics/github-action/run-tools-tests@v1 | |
- name: DiligentToolsGPUTest D3D11 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && (matrix.name == 'Win10' || matrix.name == 'Win8.1') }} | |
uses: DiligentGraphics/github-action/run-tools-gpu-tests@v1 | |
with: | |
mode: d3d11_sw | |
- name: DiligentToolsGPUTest D3D12 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name == 'Win10' }} | |
uses: DiligentGraphics/github-action/run-tools-gpu-tests@v1 | |
with: | |
mode: d3d12_sw | |
- name: DiligentToolsGPUTest WebGPU | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name == 'Win10' }} | |
uses: DiligentGraphics/github-action/run-tools-gpu-tests@v1 | |
with: | |
mode: wgpu | |
- name: HLSL2GLSLConverterTest | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && matrix.name != 'UWP'}} | |
uses: DiligentGraphics/github-action/run-hlsl2glsl-converter-test@v1 | |
# Samples tests | |
- name: Sample Tests D3D11 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && (matrix.name == 'Win10' || matrix.name == 'Win8.1' || matrix.name == 'Win10-Ninja') }} | |
uses: DiligentGraphics/github-action/run-sample-tests@v1 | |
with: | |
mode: "d3d11_sw" | |
- name: Sample Tests D3D12 | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && (matrix.name == 'Win10' || matrix.name == 'Win10-Ninja') }} | |
uses: DiligentGraphics/github-action/run-sample-tests@v1 | |
with: | |
mode: "d3d12_sw" | |
- name: Sample Tests WebGPU | |
if: ${{ (success() || failure() && steps.build.outcome == 'success') && (matrix.name == 'Win10') }} | |
uses: DiligentGraphics/github-action/run-sample-tests@v1 | |
with: | |
mode: "wgpu" |