name: VS17-CI

on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]
    paths-ignore:
      - '**.md'
      - 'docs/**'
  push:
    branches:
      - main
    paths-ignore:
      - '**.md'
      - 'docs/**'

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  ci:
    name: windows-vs17
    runs-on: windows-2025
    strategy:
      fail-fast: false
      matrix:
        include:
          - {gen: Visual Studio 17 2022, arch: x64, devchecks: OFF, shared: OFF, config: Release}
          - {gen: Visual Studio 17 2022, arch: x64, devchecks: ON, shared: OFF, config: Debug}
          - {gen: Visual Studio 17 2022, arch: x64, devchecks: ON, shared: ON, config: Debug}
          - {gen: Visual Studio 17 2022, arch: Win32, devchecks: ON, shared: OFF, config: Debug}
          - {gen: Visual Studio 17 2022, arch: Win32, devchecks: ON, shared: ON, config: Debug}
    steps:
    - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
    - name: Configure
      run: |
        cmake -D ADA_TESTING=ON -DADA_DEVELOPMENT_CHECKS="${{matrix.devchecks}}" -G "${{matrix.gen}}" -A ${{matrix.arch}} -DBUILD_SHARED_LIBS=${{matrix.shared}} -B build
    - name: Build
      run: cmake --build build --config "${{matrix.config}}" --verbose
    - name: Run  tests
      working-directory: build
      run: ctest -C "${{matrix.config}}" --output-on-failure
