name: Check build on linux

on: ["push", "pull_request"]
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  test:
    name: "Test python ${{ matrix.python }} on ${{ matrix.ubuntu }}.04"
    runs-on: "ubuntu-${{ matrix.ubuntu }}.04"
    strategy:
      matrix:
        python: [3]
        ubuntu: [20, 22]
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: 'true'
      - run: |
          sudo apt-get update
          sudo apt-get install cmake libboost-all-dev libeigen3-dev python*-numpy python*-dev python*-scipy
          echo $(sudo apt list --installed)
          echo $(g++ --version)
      - run: cmake . -DPYTHON_EXECUTABLE=$(which python${{ matrix.python }}) -DBUILD_TESTING_SCIPY=ON
      - run: make -j2
      - run: make test

  check:
    if: always()
    name: check-linux

    needs:
    - test

    runs-on: Ubuntu-latest

    steps:
    - name: Decide whether the needed jobs succeeded or failed
      uses: re-actors/alls-green@release/v1
      with:
        jobs: ${{ toJSON(needs) }}
