#
# Derrived from .github/workflows/testing-msys2.yml of universal-ctags/ctags repo
#
name: run test cases on MSYS2

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: windows-latest

    strategy:
      matrix:
        msystem: [MSYS, MINGW32, MINGW64]

    defaults:
      run:
        shell: msys2 {0}

    steps:
    - uses: msys2/setup-msys2@v2
      with:
        msystem: ${{ matrix.msystem }}
        update: true
        install: git make automake1.16 autoconf libtool

    - if:  matrix.msystem == 'MSYS'
      run: pacman -S --noconfirm gcc

    - if:  matrix.msystem == 'MINGW32'
      run: pacman -S --noconfirm mingw-w64-i686-toolchain

    - if:  matrix.msystem == 'MINGW64'
      run: pacman -S --noconfirm mingw-w64-x86_64-toolchain

    - run: ln -s /usr/bin/automake-1.16 /usr/bin/automake
    - run: ln -s /usr/bin/aclocal-1.16  /usr/bin/aclocal

    - run: git config --global core.autocrlf input
      shell: bash
    - uses: actions/checkout@v2

    - run: ./autogen.sh
    - run: ./configure --prefix=/usr
    - run: make V=1
    - run: make check V=1
    - run: cat tests/test-suite.log
      if: failure()
    - run: for x in tests/*.log; do echo '#' $x; cat $x; done
      if: failure()
