diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..f39df58f --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,103 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkId=248929 + +name: 'CTest (Windows)' + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.nuget/*' + - build/*.cmd + - build/*.json + - build/*.props + - build/*.ps1 + - build/*.targets + - build/*.yml + +jobs: + build: + runs-on: ${{ matrix.os }} + timeout-minutes: 20 + + strategy: + fail-fast: false + + matrix: + os: [windows-2019, windows-2022] + build_type: [x64-Debug, x64-Release, x64-Debug-Clang, x64-Release-Clang] + arch: [amd64] + include: + - os: windows-2019 + build_type: x86-Debug + arch: amd64_x86 + - os: windows-2019 + build_type: x86-Release + arch: amd64_x86 + - os: windows-2019 + build_type: x86-Debug-Clang + arch: amd64_x86 + - os: windows-2019 + build_type: x86-Release-Clang + arch: amd64_x86 + - os: windows-2022 + build_type: x86-Debug + arch: amd64_x86 + - os: windows-2022 + build_type: x86-Release + arch: amd64_x86 + - os: windows-2022 + build_type: x86-Debug-Clang + arch: amd64_x86 + - os: windows-2022 + build_type: x86-Release-Clang + arch: amd64_x86 + - os: windows-2022 + build_type: arm64-Debug + arch: amd64_arm64 + - os: windows-2022 + build_type: arm64-Release + arch: amd64_arm64 + - os: windows-2022 + build_type: arm64ec-Debug + arch: amd64_arm64 + - os: windows-2022 + build_type: arm64ec-Release + arch: amd64_arm64 + + steps: + - uses: actions/checkout@v4 + + - name: Clone test repository + uses: actions/checkout@v4 + with: + repository: walbourn/directxtktest + path: Tests + ref: main + + - name: 'Install Ninja' + run: choco install ninja + + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} + + - name: 'Configure CMake' + working-directory: ${{ github.workspace }} + run: cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=ON + + - 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 diff --git a/build/DirectXTK-GitHub-Test-Dev17.yml b/build/DirectXTK-GitHub-Test-Dev17.yml index 252264ec..80d065f8 100644 --- a/build/DirectXTK-GitHub-Test-Dev17.yml +++ b/build/DirectXTK-GitHub-Test-Dev17.yml @@ -12,8 +12,8 @@ schedules: include: - main +# GitHub Actions handles test suite for CI/PR trigger: none - pr: branches: include: diff --git a/build/DirectXTK-GitHub-Test.yml b/build/DirectXTK-GitHub-Test.yml index e9fef02e..4572ec73 100644 --- a/build/DirectXTK-GitHub-Test.yml +++ b/build/DirectXTK-GitHub-Test.yml @@ -12,44 +12,15 @@ schedules: include: - main -trigger: - branches: - include: - - main - paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.cmd - - build/*.in - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - +# GitHub Actions handles test suite for CI/PR +trigger: none pr: branches: include: - main paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.cmd - - build/*.in - - build/*.json - - build/*.props - - build/*.ps1 - - build/*.targets - drafts: false + include: + - build/DirectXTK-GitHub-Test.yml resources: repositories: