Bump actions/checkout from 4.2.2 to 5.0.0 (#629)

This commit is contained in:
dependabot[bot] 2025-09-02 16:29:34 -07:00 committed by GitHub
parent 6aefd908f2
commit c11a09db55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 1103 additions and 1103 deletions

View File

@ -1,77 +1,77 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# http://go.microsoft.com/fwlink/?LinkId=248926 # http://go.microsoft.com/fwlink/?LinkId=248926
name: 'CMake (Windows on ARM64)' name: 'CMake (Windows on ARM64)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-11-arm runs-on: windows-11-arm
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
build_type: [arm64-Debug, arm64-Release, arm64-Debug-UWP, arm64-Release-UWP] build_type: [arm64-Debug, arm64-Release, arm64-Debug-UWP, arm64-Release-UWP]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: arm64 arch: arm64
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} run: cmake --preset=${{ matrix.build_type }}
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Clean up' - name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: Remove-Item -Path out -Recurse -Force run: Remove-Item -Path out -Recurse -Force
- name: 'Configure CMake (DLL)' - name: 'Configure CMake (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
- name: 'Build (DLL)' - name: 'Build (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}

View File

@ -1,107 +1,107 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# https://go.microsoft.com/fwlink/?LinkId=248926 # https://go.microsoft.com/fwlink/?LinkId=248926
name: 'BVTs (arm64)' name: 'BVTs (arm64)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-11-arm runs-on: windows-11-arm
timeout-minutes: 60 timeout-minutes: 60
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
build_type: [arm64-Release] build_type: [arm64-Release]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Clone test repository - name: Clone test repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
repository: walbourn/directxtextest repository: walbourn/directxtextest
path: Tests path: Tests
ref: main ref: main
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: arm64 arch: arm64
- name: 'Set triplet' - name: 'Set triplet'
shell: pwsh shell: pwsh
run: echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV run: echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
- name: Get vcpkg commit hash - name: Get vcpkg commit hash
shell: pwsh shell: pwsh
run: | run: |
if ($Env:vcpkgRelease) { if ($Env:vcpkgRelease) {
echo "Using vcpkg commit from repo variable..." echo "Using vcpkg commit from repo variable..."
$VCPKG_COMMIT_ID = $Env:vcpkgRelease $VCPKG_COMMIT_ID = $Env:vcpkgRelease
} }
else { else {
echo "Fetching latest vcpkg commit hash..." 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 $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
$VCPKG_COMMIT_ID = $commit $VCPKG_COMMIT_ID = $commit
} }
Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
env: env:
vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with: with:
runVcpkgInstall: true runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json' vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF -DBUILD_BVT=ON cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF -DBUILD_BVT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Run BVTs' - name: 'Run BVTs'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: ctest --preset=${{ matrix.build_type }} --output-on-failure run: ctest --preset=${{ matrix.build_type }} --output-on-failure

View File

@ -1,133 +1,133 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# https://go.microsoft.com/fwlink/?LinkId=248926 # https://go.microsoft.com/fwlink/?LinkId=248926
name: 'BVTs (x64)' name: 'BVTs (x64)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
timeout-minutes: 60 timeout-minutes: 60
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
toolver: ['14.29', '14'] toolver: ['14.29', '14']
build_type: [x64-Release] build_type: [x64-Release]
arch: [amd64] arch: [amd64]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Clone test repository - name: Clone test repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
repository: walbourn/directxtextest repository: walbourn/directxtextest
path: Tests path: Tests
ref: main ref: main
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
toolset: ${{ matrix.toolver }} toolset: ${{ matrix.toolver }}
- name: 'Set triplet' - name: 'Set triplet'
shell: pwsh shell: pwsh
run: | run: |
if ("${{ matrix.arch }}" -eq "amd64") if ("${{ matrix.arch }}" -eq "amd64")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV
} }
elseif ("${{ matrix.arch }}" -eq "amd64_x86") elseif ("${{ matrix.arch }}" -eq "amd64_x86")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV
} }
elseif ("${{ matrix.arch }}" -eq "amd64_arm64") elseif ("${{ matrix.arch }}" -eq "amd64_arm64")
{ {
if ("${{ matrix.build_type }}" -match "^arm64ec") if ("${{ matrix.build_type }}" -match "^arm64ec")
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV
} }
else else
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
} }
} }
else else
{ {
echo "::error Unknown architecture/build-type triplet mapping" echo "::error Unknown architecture/build-type triplet mapping"
} }
- name: Get vcpkg commit hash - name: Get vcpkg commit hash
shell: pwsh shell: pwsh
run: | run: |
if ($Env:vcpkgRelease) { if ($Env:vcpkgRelease) {
echo "Using vcpkg commit from repo variable..." echo "Using vcpkg commit from repo variable..."
$VCPKG_COMMIT_ID = $Env:vcpkgRelease $VCPKG_COMMIT_ID = $Env:vcpkgRelease
} }
else { else {
echo "Fetching latest vcpkg commit hash..." 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 $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
$VCPKG_COMMIT_ID = $commit $VCPKG_COMMIT_ID = $commit
} }
Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
env: env:
vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with: with:
runVcpkgInstall: true runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json' vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF -DBUILD_BVT=ON cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF -DBUILD_BVT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Run BVTs' - name: 'Run BVTs'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: ctest --preset=${{ matrix.build_type }} --output-on-failure run: ctest --preset=${{ matrix.build_type }} --output-on-failure

View File

@ -51,7 +51,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja

View File

@ -25,7 +25,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
fetch-depth: 0 fetch-depth: 0

View File

@ -1,144 +1,144 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# http://go.microsoft.com/fwlink/?LinkId=248926 # http://go.microsoft.com/fwlink/?LinkId=248926
name: 'CMake (Windows)' name: 'CMake (Windows)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
toolver: ['14.29', '14'] toolver: ['14.29', '14']
build_type: [x64-Debug, x64-Release] build_type: [x64-Debug, x64-Release]
arch: [amd64] arch: [amd64]
include: include:
- toolver: '14.29' - toolver: '14.29'
build_type: x86-Debug build_type: x86-Debug
arch: amd64_x86 arch: amd64_x86
- toolver: '14.29' - toolver: '14.29'
build_type: x86-Release build_type: x86-Release
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Debug build_type: x86-Debug
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Release build_type: x86-Release
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: arm64-Debug build_type: arm64-Debug
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64-Release build_type: arm64-Release
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64ec-Debug build_type: arm64ec-Debug
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64ec-Release build_type: arm64ec-Release
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: x64-Debug-Win8 build_type: x64-Debug-Win8
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x64-Release-Win8 build_type: x64-Release-Win8
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x64-Debug-Clang build_type: x64-Debug-Clang
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x64-Release-Clang build_type: x64-Release-Clang
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x86-Debug-Clang build_type: x86-Debug-Clang
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Release-Clang build_type: x86-Release-Clang
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: arm64-Debug-Clang build_type: arm64-Debug-Clang
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64-Release-Clang build_type: arm64-Release-Clang
arch: amd64_arm64 arch: amd64_arm64
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
toolset: ${{ matrix.toolver }} toolset: ${{ matrix.toolver }}
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} run: cmake --preset=${{ matrix.build_type }}
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Clean up' - name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: Remove-Item -Path out -Recurse -Force run: Remove-Item -Path out -Recurse -Force
- if: matrix.arch != 'amd64_arm64' - if: matrix.arch != 'amd64_arm64'
name: 'Configure CMake (Spectre)' name: 'Configure CMake (Spectre)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON run: cmake --preset=${{ matrix.build_type }} -DENABLE_SPECTRE_MITIGATION=ON
- if: matrix.arch != 'amd64_arm64' - if: matrix.arch != 'amd64_arm64'
name: 'Build (Spectre)' name: 'Build (Spectre)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- if: matrix.arch != 'amd64_arm64' - if: matrix.arch != 'amd64_arm64'
name: 'Clean up' name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: Remove-Item -Path out -Recurse -Force run: Remove-Item -Path out -Recurse -Force
- name: 'Configure CMake (DLL)' - name: 'Configure CMake (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
- name: 'Build (DLL)' - name: 'Build (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}

View File

@ -1,84 +1,84 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# http://go.microsoft.com/fwlink/?LinkId=248926 # http://go.microsoft.com/fwlink/?LinkId=248926
name: MSBuild name: MSBuild
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/* - build/*
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/* - build/*
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 # has v142 tools but not v142 spectre libs runs-on: windows-2022 # has v142 tools but not v142 spectre libs
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
vs: [2019, 2022] vs: [2019, 2022]
build_type: [Debug, Release] build_type: [Debug, Release]
platform: [x86, x64, ARM64] platform: [x86, x64, ARM64]
exclude: exclude:
- vs: 2019 - vs: 2019
platform: ARM64 platform: ARM64
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0 uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2.0.0
- if: matrix.platform != 'ARM64' - if: matrix.platform != 'ARM64'
name: Build name: Build
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
DirectXTex_Desktop_${{ matrix.vs }}.sln DirectXTex_Desktop_${{ matrix.vs }}.sln
- name: 'Build (Windows 10)' - name: 'Build (Windows 10)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
DirectXTex_Desktop_${{ matrix.vs }}_Win10.sln DirectXTex_Desktop_${{ matrix.vs }}_Win10.sln
- if: matrix.vs == '2022' - if: matrix.vs == '2022'
name: 'Build (UWP)' name: 'Build (UWP)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
DirectXTex_Windows10_2022.sln DirectXTex_Windows10_2022.sln
- if: matrix.platform != 'ARM64' && matrix.vs != '2019' - if: matrix.platform != 'ARM64' && matrix.vs != '2019'
name: 'Build (Spectre)' name: 'Build (Spectre)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
/p:SpectreMitigation=Spectre /p:SpectreMitigation=Spectre
DirectXTex_Desktop_${{ matrix.vs }}.sln DirectXTex_Desktop_${{ matrix.vs }}.sln
- if: matrix.platform != 'ARM64' && matrix.vs != '2019' - if: matrix.platform != 'ARM64' && matrix.vs != '2019'
name: 'Build (Spectre Windows 10)' name: 'Build (Spectre Windows 10)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }}
/p:SpectreMitigation=Spectre /p:SpectreMitigation=Spectre
DirectXTex_Desktop_${{ matrix.vs }}_Win10.sln DirectXTex_Desktop_${{ matrix.vs }}_Win10.sln

View File

@ -49,7 +49,7 @@ jobs:
steps: steps:
- name: Checkout repository - 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 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:

View File

@ -1,188 +1,188 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# https://go.microsoft.com/fwlink/?LinkId=248926 # https://go.microsoft.com/fwlink/?LinkId=248926
name: 'CTest (Windows)' name: 'CTest (Windows)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
env: env:
DIRECTXTEX_MEDIA_PATH: ${{ github.workspace }}/Media DIRECTXTEX_MEDIA_PATH: ${{ github.workspace }}/Media
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
timeout-minutes: 60 timeout-minutes: 60
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
toolver: ['14.29', '14'] toolver: ['14.29', '14']
build_type: [x64-Debug, x64-Release] build_type: [x64-Debug, x64-Release]
arch: [amd64] arch: [amd64]
include: include:
- toolver: '14.29' - toolver: '14.29'
build_type: x86-Debug build_type: x86-Debug
arch: amd64_x86 arch: amd64_x86
- toolver: '14.29' - toolver: '14.29'
build_type: x86-Release build_type: x86-Release
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Debug build_type: x86-Debug
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Release build_type: x86-Release
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x64-Debug-Clang build_type: x64-Debug-Clang
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x64-Release-Clang build_type: x64-Release-Clang
arch: amd64 arch: amd64
- toolver: '14' - toolver: '14'
build_type: x86-Debug-Clang build_type: x86-Debug-Clang
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: x86-Release-Clang build_type: x86-Release-Clang
arch: amd64_x86 arch: amd64_x86
- toolver: '14' - toolver: '14'
build_type: arm64-Debug build_type: arm64-Debug
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64-Release build_type: arm64-Release
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64ec-Debug build_type: arm64ec-Debug
arch: amd64_arm64 arch: amd64_arm64
- toolver: '14' - toolver: '14'
build_type: arm64ec-Release build_type: arm64ec-Release
arch: amd64_arm64 arch: amd64_arm64
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Clone test repository - name: Clone test repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with: with:
repository: walbourn/directxtextest repository: walbourn/directxtextest
path: Tests path: Tests
ref: main ref: main
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
toolset: ${{ matrix.toolver }} toolset: ${{ matrix.toolver }}
- name: 'Set triplet' - name: 'Set triplet'
shell: pwsh shell: pwsh
run: | run: |
if ("${{ matrix.arch }}" -eq "amd64") if ("${{ matrix.arch }}" -eq "amd64")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV
} }
elseif ("${{ matrix.arch }}" -eq "amd64_x86") elseif ("${{ matrix.arch }}" -eq "amd64_x86")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV
} }
elseif ("${{ matrix.arch }}" -eq "amd64_arm64") elseif ("${{ matrix.arch }}" -eq "amd64_arm64")
{ {
if ("${{ matrix.build_type }}" -match "^arm64ec") if ("${{ matrix.build_type }}" -match "^arm64ec")
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV
} }
else else
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
} }
} }
else else
{ {
echo "::error Unknown architecture/build-type triplet mapping" echo "::error Unknown architecture/build-type triplet mapping"
} }
- name: Get vcpkg commit hash - name: Get vcpkg commit hash
shell: pwsh shell: pwsh
run: | run: |
if ($Env:vcpkgRelease) { if ($Env:vcpkgRelease) {
echo "Using vcpkg commit from repo variable..." echo "Using vcpkg commit from repo variable..."
$VCPKG_COMMIT_ID = $Env:vcpkgRelease $VCPKG_COMMIT_ID = $Env:vcpkgRelease
} }
else { else {
echo "Fetching latest vcpkg commit hash..." 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 $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
$VCPKG_COMMIT_ID = $commit $VCPKG_COMMIT_ID = $commit
} }
Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
env: env:
vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with: with:
runVcpkgInstall: true runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json' vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF
-DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Clean up' - name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: Remove-Item -Path out -Recurse -Force run: Remove-Item -Path out -Recurse -Force
- name: 'Configure CMake (DLL)' - name: 'Configure CMake (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON -DBUILD_TOOLS=OFF -DBUILD_SAMPLE=OFF
-DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DBUILD_SHARED_LIBS=ON -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DBUILD_SHARED_LIBS=ON
- name: 'Build (DLL)' - name: 'Build (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}

View File

@ -1,96 +1,96 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# http://go.microsoft.com/fwlink/?LinkId=248926 # http://go.microsoft.com/fwlink/?LinkId=248926
name: 'CMake (UWP)' name: 'CMake (UWP)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
build_type: [x64-Debug-UWP, x64-Release-UWP, x64-Debug-UWP-Clang, x64-Release-UWP-Clang] build_type: [x64-Debug-UWP, x64-Release-UWP, x64-Debug-UWP-Clang, x64-Release-UWP-Clang]
arch: [amd64] arch: [amd64]
include: include:
- build_type: x86-Debug-UWP - build_type: x86-Debug-UWP
arch: amd64_x86 arch: amd64_x86
- build_type: x86-Release-UWP - build_type: x86-Release-UWP
arch: amd64_x86 arch: amd64_x86
- build_type: x86-Debug-UWP-Clang - build_type: x86-Debug-UWP-Clang
arch: amd64_x86 arch: amd64_x86
- build_type: x86-Release-UWP-Clang - build_type: x86-Release-UWP-Clang
arch: amd64_x86 arch: amd64_x86
- build_type: arm64-Debug-UWP - build_type: arm64-Debug-UWP
arch: amd64_arm64 arch: amd64_arm64
- build_type: arm64-Release-UWP - build_type: arm64-Release-UWP
arch: amd64_arm64 arch: amd64_arm64
- build_type: arm64-Debug-UWP-Clang - build_type: arm64-Debug-UWP-Clang
arch: amd64_arm64 arch: amd64_arm64
- build_type: arm64-Release-UWP-Clang - build_type: arm64-Release-UWP-Clang
arch: amd64_arm64 arch: amd64_arm64
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
uwp: true uwp: true
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} run: cmake --preset=${{ matrix.build_type }}
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}
- name: 'Clean up' - name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: Remove-Item -Path out -Recurse -Force run: Remove-Item -Path out -Recurse -Force
- name: 'Configure CMake (DLL)' - name: 'Configure CMake (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON run: cmake --preset=${{ matrix.build_type }} -DBUILD_SHARED_LIBS=ON
- name: 'Build (DLL)' - name: 'Build (DLL)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}

View File

@ -1,161 +1,161 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# https://go.microsoft.com/fwlink/?LinkId=248926 # https://go.microsoft.com/fwlink/?LinkId=248926
name: 'CMake (Windows using VCPKG)' name: 'CMake (Windows using VCPKG)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- build/*.cmd - build/*.cmd
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- build/*.cmd - build/*.cmd
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
toolver: ['14.29', '14'] toolver: ['14.29', '14']
build_type: [x64-Debug-VCPKG] build_type: [x64-Debug-VCPKG]
arch: [amd64] arch: [amd64]
shared: ['OFF'] shared: ['OFF']
include: include:
- toolver: '14' - toolver: '14'
build_type: x64-Debug-Clang-VCPKG build_type: x64-Debug-Clang-VCPKG
arch: amd64 arch: amd64
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: x86-Debug-VCPKG build_type: x86-Debug-VCPKG
arch: amd64_x86 arch: amd64_x86
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: arm64-Debug-VCPKG build_type: arm64-Debug-VCPKG
arch: amd64_arm64 arch: amd64_arm64
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: arm64ec-Debug-VCPKG build_type: arm64ec-Debug-VCPKG
arch: amd64_arm64 arch: amd64_arm64
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: x64-Debug-MinGW build_type: x64-Debug-MinGW
arch: amd64 arch: amd64
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: x64-Release-MinGW build_type: x64-Release-MinGW
arch: amd64 arch: amd64
shared: 'OFF' shared: 'OFF'
- toolver: '14' - toolver: '14'
build_type: x64-Debug-MinGW build_type: x64-Debug-MinGW
arch: amd64 arch: amd64
shared: 'ON' shared: 'ON'
- toolver: '14' - toolver: '14'
build_type: x64-Release-MinGW build_type: x64-Release-MinGW
arch: amd64 arch: amd64
shared: 'ON' shared: 'ON'
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Install Ninja' - name: 'Install Ninja'
run: choco install ninja run: choco install ninja
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
with: with:
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
toolset: ${{ matrix.toolver }} toolset: ${{ matrix.toolver }}
- name: 'Set triplet' - name: 'Set triplet'
shell: pwsh shell: pwsh
run: | run: |
if ("${{ matrix.arch }}" -eq "amd64") if ("${{ matrix.arch }}" -eq "amd64")
{ {
if ("${{ matrix.build_type }}" -match "MinGW") if ("${{ matrix.build_type }}" -match "MinGW")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x64-mingw-static" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x64-mingw-static" >> $env:GITHUB_ENV
} }
else else
{ {
echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x64-windows" >> $env:GITHUB_ENV
} }
} }
elseif ("${{ matrix.arch }}" -eq "amd64_x86") elseif ("${{ matrix.arch }}" -eq "amd64_x86")
{ {
echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=x86-windows" >> $env:GITHUB_ENV
} }
elseif ("${{ matrix.arch }}" -eq "amd64_arm64") elseif ("${{ matrix.arch }}" -eq "amd64_arm64")
{ {
if ("${{ matrix.build_type }}" -match "^arm64ec") if ("${{ matrix.build_type }}" -match "^arm64ec")
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64ec-windows" >> $env:GITHUB_ENV
} }
else else
{ {
echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV echo "VCPKG_DEFAULT_TRIPLET=arm64-windows" >> $env:GITHUB_ENV
} }
} }
else else
{ {
echo "::error Unknown architecture/build-type triplet mapping" echo "::error Unknown architecture/build-type triplet mapping"
} }
- name: Get vcpkg commit hash - name: Get vcpkg commit hash
shell: pwsh shell: pwsh
run: | run: |
if ($Env:vcpkgRelease) { if ($Env:vcpkgRelease) {
echo "Using vcpkg commit from repo variable..." echo "Using vcpkg commit from repo variable..."
$VCPKG_COMMIT_ID = $Env:vcpkgRelease $VCPKG_COMMIT_ID = $Env:vcpkgRelease
} }
else { else {
echo "Fetching latest vcpkg commit hash..." 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 $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
$VCPKG_COMMIT_ID = $commit $VCPKG_COMMIT_ID = $commit
} }
Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
env: env:
vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with: with:
runVcpkgInstall: true runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json' vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=OFF cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=OFF
-DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
-DBUILD_SHARED_LIBS=${{ matrix.shared }} -DBUILD_SHARED_LIBS=${{ matrix.shared }}
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}"
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out\build\${{ matrix.build_type }} run: cmake --build out\build\${{ matrix.build_type }}

View File

@ -1,110 +1,110 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
# #
# https://go.microsoft.com/fwlink/?LinkId=248926 # https://go.microsoft.com/fwlink/?LinkId=248926
name: 'CMake (WSL)' name: 'CMake (WSL)'
on: on:
push: push:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
pull_request: pull_request:
branches: "main" branches: "main"
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- LICENSE - LICENSE
- '.azuredevops/**' - '.azuredevops/**'
- '.nuget/*' - '.nuget/*'
- build/*.cmd - build/*.cmd
- build/*.json - build/*.json
- build/*.props - build/*.props
- build/*.ps1 - build/*.ps1
- build/*.targets - build/*.targets
- build/*.xvd - build/*.xvd
permissions: permissions:
contents: read contents: read
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
build_type: [x64-Debug-Linux, x64-Release-Linux] build_type: [x64-Debug-Linux, x64-Release-Linux]
gcc: [12, 13, 14] gcc: [12, 13, 14]
steps: steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6 - uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6
- name: Get vcpkg commit hash - name: Get vcpkg commit hash
shell: pwsh shell: pwsh
run: | run: |
if ($Env:vcpkgRelease) { if ($Env:vcpkgRelease) {
echo "Using vcpkg commit from repo variable..." echo "Using vcpkg commit from repo variable..."
$VCPKG_COMMIT_ID = $Env:vcpkgRelease $VCPKG_COMMIT_ID = $Env:vcpkgRelease
} }
else { else {
echo "Fetching latest vcpkg commit hash..." 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 $commit = (git ls-remote https://github.com/microsoft/vcpkg.git HEAD | Select-String -Pattern '([a-f0-9]{40})').Matches.Value
$VCPKG_COMMIT_ID = $commit $VCPKG_COMMIT_ID = $commit
} }
Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" Write-Host "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID"
echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV echo "VCPKG_COMMIT_ID=$VCPKG_COMMIT_ID" >> $env:GITHUB_ENV
env: env:
vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}' vcpkgRelease: '${{ vars.VCPKG_COMMIT_ID }}'
- uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11 - uses: lukka/run-vcpkg@7d259227a1fb6471a0253dd5ab7419835228f7d7 # v11
with: with:
runVcpkgInstall: true runVcpkgInstall: true
vcpkgJsonGlob: '**/build/vcpkg.json' vcpkgJsonGlob: '**/build/vcpkg.json'
vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}' vcpkgGitCommitId: '${{ env.VCPKG_COMMIT_ID }}'
- name: 'Configure CMake' - name: 'Configure CMake'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON cmake --preset=${{ matrix.build_type }} -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="x64-linux" -DVCPKG_TARGET_TRIPLET="x64-linux"
env: env:
CC: gcc-${{ matrix.gcc }} CC: gcc-${{ matrix.gcc }}
CXX: g++-${{ matrix.gcc }} CXX: g++-${{ matrix.gcc }}
- name: 'Build' - name: 'Build'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out/build/${{ matrix.build_type }} run: cmake --build out/build/${{ matrix.build_type }}
- name: 'Clean up' - name: 'Clean up'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: rm -rf out run: rm -rf out
- name: 'Configure CMake (-shared)' - name: 'Configure CMake (-shared)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: > run: >
cmake --preset=${{ matrix.build_type }} -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON cmake --preset=${{ matrix.build_type }} -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON
-DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build"
-DVCPKG_TARGET_TRIPLET="x64-linux" -DBUILD_SHARED_LIBS=ON -DVCPKG_TARGET_TRIPLET="x64-linux" -DBUILD_SHARED_LIBS=ON
env: env:
CC: gcc-${{ matrix.gcc }} CC: gcc-${{ matrix.gcc }}
CXX: g++-${{ matrix.gcc }} CXX: g++-${{ matrix.gcc }}
- name: 'Build (-shared)' - name: 'Build (-shared)'
working-directory: ${{ github.workspace }} working-directory: ${{ github.workspace }}
run: cmake --build out/build/${{ matrix.build_type }} run: cmake --build out/build/${{ matrix.build_type }}