blob: f8c61af0095f80867c7a61368e5f9e38c067fa10 [file] [log] [blame]
name: NMake
on: [push, pull_request]
jobs:
nmake:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: Windows NMake x86
os: windows-2022
makefile: win32/Makefile.msc
arch: x86
- name: Windows NMake x64 compat
os: windows-2022
makefile: win32/Makefile.msc
arch: x86_amd64
additional-args: ZLIB_COMPAT=yes
- name: Windows NMake x64 Symbol Prefix
os: windows-2022
makefile: win32/Makefile.msc
arch: x86_amd64
additional-args: SYMBOL_PREFIX=zTest_
- name: Windows NMake x64 Symbol Prefix Compat
os: windows-2022
makefile: win32/Makefile.msc
arch: x86_amd64
additional-args: ZLIB_COMPAT=yes SYMBOL_PREFIX=zTest_
- name: Windows NMake x64
os: windows-2022
makefile: win32/Makefile.msc
arch: x86_amd64
- name: Windows NMake ARM No Test
os: windows-2022
makefile: win32/Makefile.arm
arch: x86_arm
- name: Windows NMake ARM64 No Test
os: windows-2022
makefile: win32/Makefile.a64
arch: x86_arm64
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup development environment
uses: ilammy/msvc-dev-cmd@v1.10.0
with:
arch: ${{ matrix.arch }}
- name: Compile source code
shell: cmd
run: nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }}
- name: Run test cases
shell: cmd
# Don't run tests on Windows ARM
if: contains(matrix.arch, 'arm') == false
run: |
nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} test
nmake -f ${{ matrix.makefile }} ${{ matrix.additional-args }} testdll