name: VS17-CI

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  ci:
    if: >-
      ! contains(toJSON(github.event.commits.*.message), '[skip ci]') &&
      ! contains(toJSON(github.event.commits.*.message), '[skip github]')
    name: windows-vs17
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        include:
          - {gen: Visual Studio 17 2022, arch: Win32, static: ON}
          - {gen: Visual Studio 17 2022, arch: Win32, static: OFF}
          - {gen: Visual Studio 17 2022, arch: x64, static: ON}
          - {gen: Visual Studio 17 2022, arch: x64, static: OFF}
    steps:
    - name: checkout
      uses: actions/checkout@v2
    - name: Configure
      run: |
        cmake -G "${{matrix.gen}}" -A ${{matrix.arch}} -DSIMDJSON_DEVELOPER_MODE=ON -DSIMDJSON_COMPETITION=OFF -DSIMDJSON_BUILD_STATIC=${{matrix.static}} -B build
    - name: Build Debug
      run: cmake --build build --config Debug --verbose
    - name: Build Release
      run: cmake --build build --config Release --verbose
    - name: Run Release tests
      run: |
        cd build
        ctest -C Release  --output-on-failure
    - name: Run Debug tests
      run: |
        cd build
        ctest -C Debug --output-on-failure