name: msys2

concurrency:
  group: msys2-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

on:
  push:
    branches:
      - master
      # Stable branches such as 0.56 or 1.0
      - '[0-9]+.[0-9]+'
    paths:
      - "mesonbuild/**"
      - "test cases/**"
      - "unittests/**"
      - ".github/workflows/msys2.yml"
      - "run*tests.py"
  pull_request:
    paths:
      - "mesonbuild/**"
      - "test cases/**"
      - "unittests/**"
      - ".github/workflows/msys2.yml"
      - "run*tests.py"

permissions:
  contents: read

jobs:
  test:
    runs-on: windows-2019
    name: ${{ matrix.NAME }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - NAME: gccx86ninja
            MSYSTEM: MINGW32
            MSYS2_ARCH: i686
            MSYS2_CURSES: ncurses
            COMPILER: gcc
            TOOLCHAIN: toolchain
          - NAME: gccx64ninja
            MSYSTEM: MINGW64
            MSYS2_ARCH: x86_64
            MSYS2_CURSES: pdcurses
            COMPILER: gcc
            TOOLCHAIN: toolchain
          - NAME: clangx64ninja
            MSYSTEM: MINGW64
            MSYS2_ARCH: x86_64
            MSYS2_CURSES:
            COMPILER: clang
            TOOLCHAIN: clang
    env:
      MESON_CI_JOBNAME: msys2-${{ matrix.NAME }}

    defaults:
      run:
        shell: msys2 {0}

    steps:
      - uses: actions/checkout@v3

      - uses: msys2/setup-msys2@v2
        with:
          msystem: ${{ matrix.MSYSTEM }}
          update: true
          install: >-
            base-devel
            git
            mercurial
            lcov
            wget
            unzip
            mingw-w64-${{ matrix.MSYS2_ARCH }}-cmake
            mingw-w64-${{ matrix.MSYS2_ARCH }}-glib2
            mingw-w64-${{ matrix.MSYS2_ARCH }}-libxml2
            mingw-w64-${{ matrix.MSYS2_ARCH }}-ninja
            mingw-w64-${{ matrix.MSYS2_ARCH }}-pkg-config
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python2
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip
            mingw-w64-${{ matrix.MSYS2_ARCH }}-python-fastjsonschema
            mingw-w64-${{ matrix.MSYS2_ARCH }}-objfw
            mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }}

      - name: Install dependencies
        run: |
          python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist coverage

      - name: Install pypy3 on x86_64
        run: |
          mkdir pypy3local
          pushd pypy3local
          wget -nv https://downloads.python.org/pypy/pypy3.8-v7.3.9-win64.zip
          unzip pypy3.8-v7.3.9-win64.zip
          mv pypy3.8-v7.3.9-win64/* ./
          popd
        if: ${{ matrix.MSYS2_ARCH == 'x86_64' }}

      - name: Run Tests
        run: |
          if [[ "${{ matrix.MSYS2_ARCH }}" == "x86_64" ]]; then
            # There apparently is no clean way to add to the PATH in the
            # previous step?
            # See for instance https://github.com/msys2/setup-msys2/issues/171
            export PATH=$PATH:$PWD/pypy3local
            # Make sure it is on the PATH
            pypy3 -c "import sys; print(sys.version)"
          fi
          export PATHEXT="$PATHEXT;.py"

          if [[ '${{ matrix.COMPILER }}' == 'clang' ]]; then
            export CC=clang
            export CXX=clang++
            export OBJC=clang
            export OBJCXX=clang++
          fi

          if [[ "${{ matrix.MSYS2_CURSES }}" != "" ]]; then
            pacman --noconfirm --needed -S mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.MSYS2_CURSES }}
          fi

          MSYSTEM= python3 ./tools/run_with_cov.py run_tests.py --backend=ninja

      - uses: actions/upload-artifact@v3
        with:
          name: ${{ matrix.NAME }}
          path: meson-test-run.*

      - name: Aggregate coverage reports
        run: ./ci/combine_cov.sh

      - name: Upload coverage report
        uses: codecov/codecov-action@v3
        with:
          files: .coverage/coverage.xml
          name: "${{ matrix.NAME }}"
          fail_ci_if_error: false
          verbose: true
