• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI NMake
2on: [push, pull_request]
3jobs:
4  ci-cmake:
5    name: ${{ matrix.name }}
6    runs-on: ${{ matrix.os }}
7    strategy:
8      fail-fast: false
9      matrix:
10        include:
11          - name: Windows NMake x86
12            os: windows-latest
13            makefile: win32/Makefile.msc
14            vc-vars: x86
15
16          - name: Windows NMake x64
17            os: windows-latest
18            makefile: win32/Makefile.msc
19            vc-vars: x86_amd64
20
21          - name: Windows NMake ARM No Test
22            os: windows-latest
23            makefile: win32/Makefile.arm
24            vc-vars: x86_arm
25
26          - name: Windows NMake ARM64 No Test
27            os: windows-latest
28            makefile: win32/Makefile.a64
29            vc-vars: x86_arm64
30
31    steps:
32    - name: Checkout repository
33      uses: actions/checkout@v1
34
35    - name: Compile source code
36      shell: cmd
37      run: |
38        call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.vc-vars }}
39        nmake -f ${{ matrix.makefile }}
40
41    - name: Run test cases
42      shell: cmd
43      # Don't run tests on Windows ARM
44      if: contains(matrix.vc-vars, 'arm') == false
45      run: |
46        call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.vc-vars }}
47        nmake -f ${{ matrix.makefile }} test
48        nmake -f ${{ matrix.makefile }} testdll
49