name: CI NMake on: [push, pull_request] jobs: ci-cmake: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - name: Windows NMake x86 os: windows-2022 makefile: win32/Makefile.msc vc-vars: x86 - name: Windows NMake x64 compat os: windows-2022 makefile: win32/Makefile.msc vc-vars: x86_amd64 additional-args: ZLIB_COMPAT=yes - name: Windows NMake x64 Symbol Prefix os: windows-2022 makefile: win32/Makefile.msc vc-vars: x86_amd64 additional-args: SYMBOL_PREFIX=zTest_ - name: Windows NMake x64 Symbol Prefix Compat os: windows-2022 makefile: win32/Makefile.msc vc-vars: x86_amd64 additional-args: ZLIB_COMPAT=yes SYMBOL_PREFIX=zTest_ - name: Windows NMake x64 os: windows-2022 makefile: win32/Makefile.msc vc-vars: x86_amd64 - name: Windows NMake ARM No Test os: windows-2022 makefile: win32/Makefile.arm vc-vars: x86_arm - name: Windows NMake ARM64 No Test os: windows-2022 makefile: win32/Makefile.a64 vc-vars: x86_arm64 steps: - name: Checkout repository uses: actions/checkout@v2 - name: Compile source code shell: cmd run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.vc-vars }} nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} - name: Run test cases shell: cmd # Don't run tests on Windows ARM if: contains(matrix.vc-vars, 'arm') == false run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.vc-vars }} nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} test nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} testdll