From d3614d3db53bc569c740ad69cdb09cea64321058 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:42:34 +0000 Subject: [PATCH] Bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...08c6903cd8c0fde910a37f88322edcfb5dd907a8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/arm64.yml | 150 ++++++------ .github/workflows/arm64bvt.yml | 150 ++++++------ .github/workflows/bvt.yml | 156 ++++++------- .github/workflows/codeql.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/main.yml | 230 +++++++++--------- .github/workflows/msbuild.yml | 168 ++++++------- .github/workflows/msvc.yml | 2 +- .github/workflows/test.yml | 264 ++++++++++----------- .github/workflows/uwp.yml | 188 +++++++-------- .github/workflows/vcpkg.yml | 414 ++++++++++++++++----------------- .github/workflows/win10.yml | 272 +++++++++++----------- 12 files changed, 999 insertions(+), 999 deletions(-) diff --git a/.github/workflows/arm64.yml b/.github/workflows/arm64.yml index cf5e14c54..3c2228c16 100644 --- a/.github/workflows/arm64.yml +++ b/.github/workflows/arm64.yml @@ -1,75 +1,75 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'CMake (Windows on ARM64)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-11-arm - - strategy: - fail-fast: false - - matrix: - build_type: [arm64-Debug, arm64-Release, arm64-Debug-UWP, arm64-Release-UWP] - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: arm64 - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON - - - name: 'Build (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CMake (Windows on ARM64)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-11-arm + + strategy: + fail-fast: false + + matrix: + build_type: [arm64-Debug, arm64-Release, arm64-Debug-UWP, arm64-Release-UWP] + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: arm64 + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/arm64bvt.yml b/.github/workflows/arm64bvt.yml index 371949fa5..90b53ec03 100644 --- a/.github/workflows/arm64bvt.yml +++ b/.github/workflows/arm64bvt.yml @@ -1,75 +1,75 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'BVTs (arm64)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-11-arm - timeout-minutes: 20 - - strategy: - fail-fast: false - - matrix: - build_type: [arm64-Release] - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Clone test repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - repository: walbourn/directxtktest - path: Tests - ref: main - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: arm64 - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_BVT=ON - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Run BVTs' - working-directory: ${{ github.workspace }} - run: ctest --preset=${{ matrix.build_type }} --output-on-failure +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'BVTs (arm64)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-11-arm + timeout-minutes: 20 + + strategy: + fail-fast: false + + matrix: + build_type: [arm64-Release] + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Clone test repository + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: walbourn/directxtktest + path: Tests + ref: main + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: arm64 + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_BVT=ON + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Run BVTs' + working-directory: ${{ github.workspace }} + run: ctest --preset=${{ matrix.build_type }} --output-on-failure diff --git a/.github/workflows/bvt.yml b/.github/workflows/bvt.yml index 66d1ed1c8..ed5819c86 100644 --- a/.github/workflows/bvt.yml +++ b/.github/workflows/bvt.yml @@ -1,78 +1,78 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'BVTs (x64)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - timeout-minutes: 20 - - strategy: - fail-fast: false - - matrix: - toolver: ['14.29', '14'] - build_type: [x64-Release] - arch: [amd64] - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Clone test repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - repository: walbourn/directxtktest - path: Tests - ref: main - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_BVT=ON - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Run BVTs' - working-directory: ${{ github.workspace }} - run: ctest --preset=${{ matrix.build_type }} --output-on-failure +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'BVTs (x64)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + timeout-minutes: 20 + + strategy: + fail-fast: false + + matrix: + toolver: ['14.29', '14'] + build_type: [x64-Release] + arch: [amd64] + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Clone test repository + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: walbourn/directxtktest + path: Tests + ref: main + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_BVT=ON + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Run BVTs' + working-directory: ${{ github.workspace }} + run: ctest --preset=${{ matrix.build_type }} --output-on-failure diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b27172797..a9b2f65dd 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -54,7 +54,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - if: matrix.language == 'c-cpp' name: 'Install Ninja' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2b6e11024..ba022867d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b7351f4d1..827c952f7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,115 +1,115 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'CMake (Windows 8.1)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - - strategy: - fail-fast: false - - matrix: - toolver: ['14.29', '14'] - build_type: [x64-Debug, x64-Release] - arch: [amd64] - include: - - toolver: '14.29' - build_type: x86-Debug - arch: amd64_x86 - - toolver: '14.29' - build_type: x86-Release - arch: amd64_x86 - - toolver: '14' - build_type: x86-Debug - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release - arch: amd64_x86 - - toolver: '14' - build_type: x64-Debug-Clang - arch: amd64 - - toolver: '14' - build_type: x64-Release-Clang - arch: amd64 - - toolver: '14' - build_type: x86-Debug-Clang - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Clang - arch: amd64_x86 - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (Spectre)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON - - - name: 'Build (Spectre)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON - - - name: 'Build (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CMake (Windows 8.1)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + + strategy: + fail-fast: false + + matrix: + toolver: ['14.29', '14'] + build_type: [x64-Debug, x64-Release] + arch: [amd64] + include: + - toolver: '14.29' + build_type: x86-Debug + arch: amd64_x86 + - toolver: '14.29' + build_type: x86-Release + arch: amd64_x86 + - toolver: '14' + build_type: x86-Debug + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release + arch: amd64_x86 + - toolver: '14' + build_type: x64-Debug-Clang + arch: amd64 + - toolver: '14' + build_type: x64-Release-Clang + arch: amd64 + - toolver: '14' + build_type: x86-Debug-Clang + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release-Clang + arch: amd64_x86 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON + + - name: 'Build (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 38d3b1f7c..bab563c11 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -1,84 +1,84 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: MSBuild - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/* - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/* - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 # has v142 tools but not v142 spectre libs - - strategy: - fail-fast: false - - matrix: - vs: [2019, 2022] - build_type: [Debug, Release] - platform: [x86, x64, ARM64] - exclude: - - vs: 2019 - platform: ARM64 - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0 - - - if: matrix.platform != 'ARM64' - name: Build (Windows 8.1) - working-directory: ${{ github.workspace }} - run: > - msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - DirectXTK_Desktop_${{ matrix.vs }}.sln - - - name: 'Build (Windows 10)' - working-directory: ${{ github.workspace }} - run: > - msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - DirectXTK_Desktop_${{ matrix.vs }}_Win10.sln - - - if: matrix.vs == '2022' - name: 'Build (UWP)' - working-directory: ${{ github.workspace }} - run: > - msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - DirectXTK_Windows10_2022.sln - - - if: matrix.platform != 'ARM64' && matrix.vs != '2019' - name: 'Build (Windows 8.1 w/ Spectre)' - working-directory: ${{ github.workspace }} - run: > - msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - /p:SpectreMitigation=Spectre - DirectXTK_Desktop_${{ matrix.vs }}.sln - - - if: matrix.platform != 'ARM64' && matrix.vs != '2019' - name: 'Build (Spectre Windows 10)' - working-directory: ${{ github.workspace }} - run: > - msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} - /p:SpectreMitigation=Spectre - DirectXTK_Desktop_${{ matrix.vs }}_Win10.sln +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: MSBuild + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/* + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/* + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 # has v142 tools but not v142 spectre libs + + strategy: + fail-fast: false + + matrix: + vs: [2019, 2022] + build_type: [Debug, Release] + platform: [x86, x64, ARM64] + exclude: + - vs: 2019 + platform: ARM64 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0 + + - if: matrix.platform != 'ARM64' + name: Build (Windows 8.1) + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + DirectXTK_Desktop_${{ matrix.vs }}.sln + + - name: 'Build (Windows 10)' + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + DirectXTK_Desktop_${{ matrix.vs }}_Win10.sln + + - if: matrix.vs == '2022' + name: 'Build (UWP)' + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + DirectXTK_Windows10_2022.sln + + - if: matrix.platform != 'ARM64' && matrix.vs != '2019' + name: 'Build (Windows 8.1 w/ Spectre)' + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + /p:SpectreMitigation=Spectre + DirectXTK_Desktop_${{ matrix.vs }}.sln + + - if: matrix.platform != 'ARM64' && matrix.vs != '2019' + name: 'Build (Spectre Windows 10)' + working-directory: ${{ github.workspace }} + run: > + msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} + /p:SpectreMitigation=Spectre + DirectXTK_Desktop_${{ matrix.vs }}_Win10.sln diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index ce4967b44..0c9969df5 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -47,7 +47,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 95182f6bd..906385503 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,132 +1,132 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'CTest (Windows)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - timeout-minutes: 20 - - strategy: - fail-fast: false - - matrix: - toolver: ['14.29', '14'] - build_type: [x64-Debug, x64-Release] - arch: [amd64] - include: - - toolver: '14.29' - build_type: x86-Debug - arch: amd64_x86 - - toolver: '14.29' - build_type: x86-Release - arch: amd64_x86 - - toolver: '14' - build_type: x86-Debug - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release - arch: amd64_x86 - - toolver: '14' - build_type: x64-Debug-Clang - arch: amd64 - - toolver: '14' - build_type: x64-Release-Clang - arch: amd64 - - toolver: '14' - build_type: x86-Debug-Clang - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Clang - arch: amd64_x86 - - toolver: '14' - build_type: arm64-Debug - arch: amd64_arm64 - - toolver: '14' - build_type: arm64-Release - arch: amd64_arm64 - - toolver: '14' - build_type: arm64ec-Debug - arch: amd64_arm64 - - toolver: '14' - build_type: arm64ec-Release - arch: amd64_arm64 - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Clone test repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - repository: walbourn/directxtktest - path: Tests - ref: main - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: > - cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - if: (matrix.build_type == 'x64-Release') || (matrix.build_type == 'x86-Release') - timeout-minutes: 10 - name: 'Test (Math only)' - working-directory: ${{ github.workspace }} - run: ctest --preset=${{ matrix.build_type }} -L Math - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (DLL)' - working-directory: ${{ github.workspace }} - run: > - cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF - -DBUILD_SHARED_LIBS=ON - - - name: 'Build (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CTest (Windows)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + timeout-minutes: 20 + + strategy: + fail-fast: false + + matrix: + toolver: ['14.29', '14'] + build_type: [x64-Debug, x64-Release] + arch: [amd64] + include: + - toolver: '14.29' + build_type: x86-Debug + arch: amd64_x86 + - toolver: '14.29' + build_type: x86-Release + arch: amd64_x86 + - toolver: '14' + build_type: x86-Debug + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release + arch: amd64_x86 + - toolver: '14' + build_type: x64-Debug-Clang + arch: amd64 + - toolver: '14' + build_type: x64-Release-Clang + arch: amd64 + - toolver: '14' + build_type: x86-Debug-Clang + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release-Clang + arch: amd64_x86 + - toolver: '14' + build_type: arm64-Debug + arch: amd64_arm64 + - toolver: '14' + build_type: arm64-Release + arch: amd64_arm64 + - toolver: '14' + build_type: arm64ec-Debug + arch: amd64_arm64 + - toolver: '14' + build_type: arm64ec-Release + arch: amd64_arm64 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Clone test repository + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + repository: walbourn/directxtktest + path: Tests + ref: main + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: > + cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - if: (matrix.build_type == 'x64-Release') || (matrix.build_type == 'x86-Release') + timeout-minutes: 10 + name: 'Test (Math only)' + working-directory: ${{ github.workspace }} + run: ctest --preset=${{ matrix.build_type }} -L Math + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: > + cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF + -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/uwp.yml b/.github/workflows/uwp.yml index 6e69be165..2f8f99ebf 100644 --- a/.github/workflows/uwp.yml +++ b/.github/workflows/uwp.yml @@ -1,94 +1,94 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'CMake (UWP)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - - strategy: - fail-fast: false - - matrix: - build_type: [x64-Debug-UWP, x64-Release-UWP, x64-Debug-UWP-Clang, x64-Release-UWP-Clang] - arch: [amd64] - include: - - build_type: x86-Debug-UWP - arch: amd64_x86 - - build_type: x86-Release-UWP - arch: amd64_x86 - - build_type: x86-Debug-UWP-Clang - arch: amd64_x86 - - build_type: x86-Release-UWP-Clang - arch: amd64_x86 - - build_type: arm64-Debug-UWP - arch: amd64_arm64 - - build_type: arm64-Release-UWP - arch: amd64_arm64 - - build_type: arm64-Debug-UWP-Clang - arch: amd64_arm64 - - build_type: arm64-Release-UWP-Clang - arch: amd64_arm64 - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - uwp: true - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON - - - name: 'Build (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CMake (UWP)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + + strategy: + fail-fast: false + + matrix: + build_type: [x64-Debug-UWP, x64-Release-UWP, x64-Debug-UWP-Clang, x64-Release-UWP-Clang] + arch: [amd64] + include: + - build_type: x86-Debug-UWP + arch: amd64_x86 + - build_type: x86-Release-UWP + arch: amd64_x86 + - build_type: x86-Debug-UWP-Clang + arch: amd64_x86 + - build_type: x86-Release-UWP-Clang + arch: amd64_x86 + - build_type: arm64-Debug-UWP + arch: amd64_arm64 + - build_type: arm64-Release-UWP + arch: amd64_arm64 + - build_type: arm64-Debug-UWP-Clang + arch: amd64_arm64 + - build_type: arm64-Release-UWP-Clang + arch: amd64_arm64 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + uwp: true + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/vcpkg.yml b/.github/workflows/vcpkg.yml index 500e76025..ea2b1735b 100644 --- a/.github/workflows/vcpkg.yml +++ b/.github/workflows/vcpkg.yml @@ -1,207 +1,207 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# https://go.microsoft.com/fwlink/?LinkID=324981 - -name: 'CMake (Windows using VCPKG)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - build/*.cmd - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - build/*.cmd - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - - strategy: - fail-fast: false - - matrix: - toolver: ['14.29', '14'] - build_type: [x64-Debug-VCPKG] - arch: [amd64] - shared: ['OFF'] - gameinput: ['OFF'] - include: - - toolver: '14' - build_type: x64-Debug-VCPKG - arch: amd64 - shared: 'OFF' - gameinput: 'ON' - - toolver: '14' - build_type: x64-Debug-Clang-VCPKG - arch: amd64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Debug-Clang-VCPKG - arch: amd64 - shared: 'OFF' - gameinput: 'ON' - - toolver: '14' - build_type: x86-Debug-VCPKG - arch: amd64_x86 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Debug-Redist - arch: amd64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Release-Redist - arch: amd64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: arm64-Debug-VCPKG - arch: amd64_arm64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: arm64-Debug-Redist - arch: amd64_arm64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: arm64ec-Debug-VCPKG - arch: amd64_arm64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: arm64ec-Debug-Redist - arch: amd64_arm64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Debug-MinGW - arch: amd64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Release-MinGW - arch: amd64 - shared: 'OFF' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Debug-MinGW - arch: amd64 - shared: 'OFF' - gameinput: 'ON' - - toolver: '14' - build_type: x64-Debug-VCPKG - arch: amd64 - shared: 'ON' - gameinput: 'ON' - - toolver: '14' - build_type: x64-Debug-MinGW - arch: amd64 - shared: 'ON' - gameinput: 'OFF' - - toolver: '14' - build_type: x64-Release-MinGW - arch: amd64 - shared: 'ON' - gameinput: 'OFF' - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - - - name: 'Set triplet' - shell: pwsh - run: | - echo "VCPKG_INSTALLED_DIR=${{ github.workspace }}/build/vcpkg_installed" >> $env:GITHUB_ENV - if ("${{ matrix.arch }}" -eq "amd64") - { - if ("${{ matrix.build_type }}" -match "MinGW") - { - echo "VCPKG_DEFAULT_TRIPLET=x64-mingw-static" >> $env:GITHUB_ENV - } - else - { - echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV - } - } - elseif ("${{ matrix.arch }}" -eq "amd64_x86") - { - echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV - } - elseif ("${{ matrix.arch }}" -eq "amd64_arm64") - { - if ("${{ matrix.build_type }}" -match "^arm64ec") - { - echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV - } - else - { - echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV - } - } - else - { - echo "::error Unknown architecture/build-type triplet mapping" - } - - - name: Get vcpkg commit hash - shell: pwsh - run: | - if ($Env:vcpkgRelease) { - echo "Using vcpkg commit from repo variable..." - $VCPKG_COMMIT_ID = $Env:vcpkgRelease - } - else { - echo "Fetching latest vcpkg commit hash..." - $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value - $VCPKG_COMMIT_ID = $commit - } - Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" - echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV - env: - vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' - - - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - with: - runVcpkgInstall: true - vcpkgJsonGlob: '**/build/vcpkg.json' - vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: > - cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=OFF - -DBUILD_SHARED_LIBS=${{ matrix.shared }} -DBUILD_GAMEINPUT=${{ matrix.gameinput }} - -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" - -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# https://go.microsoft.com/fwlink/?LinkID=324981 + +name: 'CMake (Windows using VCPKG)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - build/*.cmd + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - build/*.cmd + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + + strategy: + fail-fast: false + + matrix: + toolver: ['14.29', '14'] + build_type: [x64-Debug-VCPKG] + arch: [amd64] + shared: ['OFF'] + gameinput: ['OFF'] + include: + - toolver: '14' + build_type: x64-Debug-VCPKG + arch: amd64 + shared: 'OFF' + gameinput: 'ON' + - toolver: '14' + build_type: x64-Debug-Clang-VCPKG + arch: amd64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Debug-Clang-VCPKG + arch: amd64 + shared: 'OFF' + gameinput: 'ON' + - toolver: '14' + build_type: x86-Debug-VCPKG + arch: amd64_x86 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Debug-Redist + arch: amd64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Release-Redist + arch: amd64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: arm64-Debug-VCPKG + arch: amd64_arm64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: arm64-Debug-Redist + arch: amd64_arm64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: arm64ec-Debug-VCPKG + arch: amd64_arm64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: arm64ec-Debug-Redist + arch: amd64_arm64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Debug-MinGW + arch: amd64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Release-MinGW + arch: amd64 + shared: 'OFF' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Debug-MinGW + arch: amd64 + shared: 'OFF' + gameinput: 'ON' + - toolver: '14' + build_type: x64-Debug-VCPKG + arch: amd64 + shared: 'ON' + gameinput: 'ON' + - toolver: '14' + build_type: x64-Debug-MinGW + arch: amd64 + shared: 'ON' + gameinput: 'OFF' + - toolver: '14' + build_type: x64-Release-MinGW + arch: amd64 + shared: 'ON' + gameinput: 'OFF' + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Set triplet' + shell: pwsh + run: | + echo "VCPKG_INSTALLED_DIR=${{ github.workspace }}/build/vcpkg_installed" >> $env:GITHUB_ENV + if ("${{ matrix.arch }}" -eq "amd64") + { + if ("${{ matrix.build_type }}" -match "MinGW") + { + echo "VCPKG_DEFAULT_TRIPLET=x64-mingw-static" >> $env:GITHUB_ENV + } + else + { + echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV + } + } + elseif ("${{ matrix.arch }}" -eq "amd64_x86") + { + echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV + } + elseif ("${{ matrix.arch }}" -eq "amd64_arm64") + { + if ("${{ matrix.build_type }}" -match "^arm64ec") + { + echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV + } + else + { + echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV + } + } + else + { + echo "::error Unknown architecture/build-type triplet mapping" + } + + - name: Get vcpkg commit hash + shell: pwsh + run: | + if ($Env:vcpkgRelease) { + echo "Using vcpkg commit from repo variable..." + $VCPKG_COMMIT_ID = $Env:vcpkgRelease + } + else { + echo "Fetching latest vcpkg commit hash..." + $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value + $VCPKG_COMMIT_ID = $commit + } + Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" + echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV + env: + vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' + + - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 + with: + runVcpkgInstall: true + vcpkgJsonGlob: '**/build/vcpkg.json' + vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: > + cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=OFF + -DBUILD_SHARED_LIBS=${{ matrix.shared }} -DBUILD_GAMEINPUT=${{ matrix.gameinput }} + -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" + -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} diff --git a/.github/workflows/win10.yml b/.github/workflows/win10.yml index d824e5bd6..068b27657 100644 --- a/.github/workflows/win10.yml +++ b/.github/workflows/win10.yml @@ -1,136 +1,136 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# -# http://go.microsoft.com/fwlink/?LinkId=248929 - -name: 'CMake (Windows 10/Windows 11)' - -on: - push: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - pull_request: - branches: "main" - paths-ignore: - - '*.md' - - LICENSE - - '.azuredevops/**' - - '.nuget/*' - - build/*.cmd - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - -permissions: - contents: read - -jobs: - build: - runs-on: windows-2022 - - strategy: - fail-fast: false - - matrix: - toolver: ['14.29', '14'] - build_type: [x64-Debug-Win10, x64-Release-Win10] - arch: [amd64] - include: - - toolver: '14.29' - build_type: x86-Debug-Win10 - arch: amd64_x86 - - toolver: '14.29' - build_type: x86-Release-Win10 - arch: amd64_x86 - - toolver: '14' - build_type: x86-Debug-Win10 - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Win10 - arch: amd64_x86 - - toolver: '14' - build_type: arm64-Debug - arch: amd64_arm64 - - toolver: '14' - build_type: arm64-Release - arch: amd64_arm64 - - toolver: '14' - build_type: arm64ec-Debug - arch: amd64_arm64 - - toolver: '14' - build_type: arm64ec-Release - arch: amd64_arm64 - - toolver: '14' - build_type: x64-Debug-Win10-Clang - arch: amd64 - - toolver: '14' - build_type: x64-Release-Win10-Clang - arch: amd64 - - toolver: '14' - build_type: x86-Debug-Win10-Clang - arch: amd64_x86 - - toolver: '14' - build_type: x86-Release-Win10-Clang - arch: amd64_x86 - - toolver: '14' - build_type: arm64-Debug-Clang - arch: amd64_arm64 - - toolver: '14' - build_type: arm64-Release-Clang - arch: amd64_arm64 - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: 'Install Ninja' - run: choco install ninja - - - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - with: - arch: ${{ matrix.arch }} - toolset: ${{ matrix.toolver }} - - - name: 'Configure CMake' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} - - - name: 'Build' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - if: matrix.arch != 'amd64_arm64' - name: 'Configure CMake (Spectre)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON - - - if: matrix.arch != 'amd64_arm64' - name: 'Build (Spectre)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} - - - if: matrix.arch != 'amd64_arm64' - name: 'Clean up' - working-directory: ${{ github.workspace }} - run: Remove-Item -Path out -Recurse -Force - - - name: 'Configure CMake (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON - - - name: 'Build (DLL)' - working-directory: ${{ github.workspace }} - run: cmake --build out\build\${{ matrix.build_type }} +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CMake (Windows 10/Windows 11)' + +on: + push: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + pull_request: + branches: "main" + paths-ignore: + - '*.md' + - LICENSE + - '.azuredevops/**' + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + +permissions: + contents: read + +jobs: + build: + runs-on: windows-2022 + + strategy: + fail-fast: false + + matrix: + toolver: ['14.29', '14'] + build_type: [x64-Debug-Win10, x64-Release-Win10] + arch: [amd64] + include: + - toolver: '14.29' + build_type: x86-Debug-Win10 + arch: amd64_x86 + - toolver: '14.29' + build_type: x86-Release-Win10 + arch: amd64_x86 + - toolver: '14' + build_type: x86-Debug-Win10 + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release-Win10 + arch: amd64_x86 + - toolver: '14' + build_type: arm64-Debug + arch: amd64_arm64 + - toolver: '14' + build_type: arm64-Release + arch: amd64_arm64 + - toolver: '14' + build_type: arm64ec-Debug + arch: amd64_arm64 + - toolver: '14' + build_type: arm64ec-Release + arch: amd64_arm64 + - toolver: '14' + build_type: x64-Debug-Win10-Clang + arch: amd64 + - toolver: '14' + build_type: x64-Release-Win10-Clang + arch: amd64 + - toolver: '14' + build_type: x86-Debug-Win10-Clang + arch: amd64_x86 + - toolver: '14' + build_type: x86-Release-Win10-Clang + arch: amd64_x86 + - toolver: '14' + build_type: arm64-Debug-Clang + arch: amd64_arm64 + - toolver: '14' + build_type: arm64-Release-Clang + arch: amd64_arm64 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + with: + arch: ${{ matrix.arch }} + toolset: ${{ matrix.toolver }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} + + - name: 'Build' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - if: matrix.arch != 'amd64_arm64' + name: 'Configure CMake (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON + + - if: matrix.arch != 'amd64_arm64' + name: 'Build (Spectre)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }} + + - if: matrix.arch != 'amd64_arm64' + name: 'Clean up' + working-directory: ${{ github.workspace }} + run: Remove-Item -Path out -Recurse -Force + + - name: 'Configure CMake (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON + + - name: 'Build (DLL)' + working-directory: ${{ github.workspace }} + run: cmake --build out\build\${{ matrix.build_type }}