diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml new file mode 100644 index 0000000..5d1bcfe --- /dev/null +++ b/.github/workflows/msbuild.yml @@ -0,0 +1,168 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# +# http://go.microsoft.com/fwlink/?LinkID=615560 + +name: MSBuild + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + paths-ignore: + - '*.md' + - LICENSE + - '.nuget/*' + - build/* + +permissions: + contents: read + +jobs: + build: + runs-on: windows-${{ matrix.vs }} + + strategy: + fail-fast: false + + matrix: + vs: [2019, 2022] + build_type: [Debug, Release, 'NI Debug', 'NI Release'] + platform: [x86, x64, ARM64] + include: + - os: 2019 + platform: x86 + build_type: 'SSE3 Debug' + - os: 2019 + platform: x64 + build_type: 'SSE3 Debug' + - os: 2022 + platform: x86 + build_type: 'SSE3 Debug' + - os: 2022 + platform: x64 + build_type: 'SSE3 Debug' + - os: 2019 + platform: x86 + build_type: 'SSE4 Debug' + - os: 2019 + platform: x64 + build_type: 'SSE4 Debug' + - os: 2022 + platform: x86 + build_type: 'SSE4 Debug' + - os: 2022 + platform: x64 + build_type: 'SSE4 Debug' + - os: 2019 + platform: x86 + build_type: 'AVX Debug' + - os: 2019 + platform: x64 + build_type: 'AVX Debug' + - os: 2022 + platform: x86 + build_type: 'AVX Debug' + - os: 2022 + platform: x64 + build_type: 'AVX Debug' + - os: 2019 + platform: x86 + build_type: 'AVX2 Debug' + - os: 2019 + platform: x64 + build_type: 'AVX2 Debug' + - os: 2022 + platform: x86 + build_type: 'AVX2 Debug' + - os: 2022 + platform: x64 + build_type: 'AVX2 Debug' + - os: 2019 + platform: x86 + build_type: 'x87 Debug' + - os: 2022 + platform: x86 + build_type: 'x87 Debug' + - os: 2019 + platform: x86 + build_type: 'SSE3 Release' + - os: 2019 + platform: x64 + build_type: 'SSE3 Release' + - os: 2022 + platform: x86 + build_type: 'SSE3 Release' + - os: 2022 + platform: x64 + build_type: 'SSE3 Release' + - os: 2019 + platform: x86 + build_type: 'SSE4 Release' + - os: 2019 + platform: x64 + build_type: 'SSE4 Release' + - os: 2022 + platform: x86 + build_type: 'SSE4 Release' + - os: 2022 + platform: x64 + build_type: 'SSE4 Release' + - os: 2019 + platform: x86 + build_type: 'AVX Release' + - os: 2019 + platform: x64 + build_type: 'AVX Release' + - os: 2022 + platform: x86 + build_type: 'AVX Release' + - os: 2022 + platform: x64 + build_type: 'AVX Release' + - os: 2019 + platform: x86 + build_type: 'AVX2 Release' + - os: 2019 + platform: x64 + build_type: 'AVX2 Release' + - os: 2022 + platform: x86 + build_type: 'AVX2 Release' + - os: 2022 + platform: x64 + build_type: 'AVX2 Release' + - os: 2019 + platform: x86 + build_type: 'x87 Release' + - os: 2022 + platform: x86 + build_type: 'x87 Release' + + steps: + - uses: actions/checkout@v4 + + - name: Clone test repository + uses: actions/checkout@v4 + with: + repository: walbourn/directxmathtest + path: Tests + ref: main + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v2 + + - name: Build math3 + working-directory: ${{ github.workspace }}/Tests/math3 + run: msbuild /m /p:Configuration="${{ matrix.build_type }}" /p:Platform=${{ matrix.platform }} ./math3_${{ matrix.vs }}.sln + + - if: (matrix.build_type == 'Debug') || (matrix.build_type == 'Release') + name: Build shmath + working-directory: ${{ github.workspace }}/Tests/shmath + run: msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} ./shmath_${{ matrix.vs }}.sln + + - if: (matrix.build_type == 'Debug') || (matrix.build_type == 'Release') + name: Build xdsp + working-directory: ${{ github.workspace }}/Tests/xdsp + run: msbuild /m /p:Configuration=${{ matrix.build_type }} /p:Platform=${{ matrix.platform }} ./XDSPTest_${{ matrix.vs }}.sln diff --git a/build/DirectXMath-GitHub-Dev17.yml b/build/DirectXMath-GitHub-Dev17.yml index 6d749e1..4f19ded 100644 --- a/build/DirectXMath-GitHub-Dev17.yml +++ b/build/DirectXMath-GitHub-Dev17.yml @@ -12,34 +12,15 @@ schedules: include: - main -trigger: - branches: - include: - - main - paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.in - +# GitHub Actions handles MSBuild for CI/PR +trigger: none pr: branches: include: - main paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.in - drafts: false + include: + - build/*-GitHub-Dev17.yml resources: repositories: diff --git a/build/DirectXMath-GitHub.yml b/build/DirectXMath-GitHub.yml index 5148fdc..cc170f1 100644 --- a/build/DirectXMath-GitHub.yml +++ b/build/DirectXMath-GitHub.yml @@ -12,34 +12,15 @@ schedules: include: - main -trigger: - branches: - include: - - main - paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.in - +# GitHub Actions handles MSBuild for CI/PR +trigger: none pr: branches: include: - main paths: - exclude: - - '*.md' - - LICENSE - - CMake* - - '.github/*' - - '.nuget/*' - - build/*.cmake - - build/*.in - drafts: false + include: + - build/DirectXMath-GitHub.yml resources: repositories: diff --git a/build/DirectXMath-SDL.yml b/build/DirectXMath-SDL.yml index 9c29d64..c07df34 100644 --- a/build/DirectXMath-SDL.yml +++ b/build/DirectXMath-SDL.yml @@ -12,8 +12,8 @@ schedules: include: - main +# GitHub Actions handles CodeQL and PREFAST for CI/PR trigger: none - pr: branches: include: