name: ci_frameworks

on:
  push:
    paths:
      - "mesonbuild/dependencies/**"
      - "test cases/frameworks/**"
      - ".github/workflows/ci_frameworks.yml"
  pull_request:
    paths:
      - "mesonbuild/dependencies/**"
      - "test cases/frameworks/**"
      - ".github/workflows/ci_frameworks.yml"

jobs:

  scalapackMacOS:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-python@v1
      with:
        python-version: '3.x'
    - run: python -m pip install -e .
    - run: brew install pkg-config ninja gcc openmpi lapack scalapack
    - run: meson setup "test cases/frameworks/30 scalapack" build
    - run: ninja -C build
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Scalapack_Mac_build
        path: build/meson-logs/meson-log.txt
    - run: meson test -C build -v
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Scalapack_Mac_test
        path: build/meson-logs/testlog.txt

  HDF5macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-python@v1
      with:
        python-version: '3.x'
    - run: python -m pip install -e .
    - run: brew install pkg-config ninja gcc hdf5
    - run: meson setup "test cases/frameworks/25 hdf5" build
    - run: ninja -C build
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: HDF5_Mac_build
        path: build/meson-logs/meson-log.txt
    - run: meson test -C build -v
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: HDF5_Mac_test
        path: build/meson-logs/testlog.txt

  Qt4macos:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-python@v1
      with:
        python-version: '3.x'
    - run: python -m pip install -e .
    - run: brew install pkg-config ninja gcc
    - run: brew tap cartr/qt4
    - run: brew install qt@4
    - run: meson setup "test cases/frameworks/4 qt" build -Drequired=qt4
    - run: ninja -C build
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Qt4_Mac_build
        path: build/meson-logs/meson-log.txt
    - run: meson test -C build -v
    - uses: actions/upload-artifact@v1
      if: failure()
      with:
        name: Qt4_Mac_test
        path: build/meson-logs/testlog.txt
