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 sprefix
os: windows-2022
makefile: win32/Makefile.msc
vc-vars: x86_amd64
additional-args: SYMBOL_PREFIX=zTest_
- name: Windows NMake x64 sprefix 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
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