name: continuous build

on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
        build: [cmake, make]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Compilation cache
        uses: actions/cache@v2
        with:
          path: ~/.ccache
          # We include the commit sha in the cache key, as new cache entries are
          # only created if there is no existing entry for the key yet.
          key: ${{ runner.os }}-ccache-${{ github.sha }}
          # Restore any ccache cache entry, if none for
          # ${{ runner.os }}-ccache-${{ github.sha }} exists
          restore-keys: |
            ${{ runner.os }}-ccache

      - name: Install Dependencies
        run: |
          if [ "$RUNNER_OS" == "Linux" ]; then
            sudo apt-get install -y gfortran cmake ccache
          elif [ "$RUNNER_OS" == "macOS" ]; then
            brew install coreutils cmake ccache
          else
            echo "$RUNNER_OS not supported"
            exit 1
          fi
          ccache -M 300M  # Limit the ccache size; Github's overall cache limit is 5GB

      - name: Build
        if: matrix.build == 'make'
        run: |
          if [ "$RUNNER_OS" == "Linux" ]; then
            export PATH="/usr/lib/ccache:${PATH}"
          elif [ "$RUNNER_OS" == "macOS" ]; then
            export PATH="$(brew --prefix)/opt/ccache/libexec:${PATH}"
          else
            echo "$RUNNER_OS not supported"
            exit 1
          fi

          make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0

      - name: CMake build
        if: matrix.build == 'cmake'
        run: |
          if [ "$RUNNER_OS" == "Linux" ]; then
            export PATH="/usr/lib/ccache:${PATH}"
          elif [ "$RUNNER_OS" == "macOS" ]; then
            export PATH="$(brew --prefix)/opt/ccache/libexec:${PATH}"
          else
            echo "$RUNNER_OS not supported"
            exit 1
          fi

          mkdir build
          cd build
          cmake -DDYNAMIC_ARCH=1 -DNOFORTRAN=0 -DBUILD_WITHOUT_LAPACK=0 ..
          make -j$(nproc)

Add Github Actions test for DYNAMIC_ARCH builds
Add Github Actions test for DYNAMIC_ARCH builds
