name: Unit tests

on: [push, pull_request]

jobs:
  build:

    runs-on: ubuntu-18.04
    strategy:
      matrix:
        python-version: [ '3.8' ]
        ocaml-compiler: [ '4.12.x' ]

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v1
      with:
        python-version: ${{ matrix.python-version }}
    - name: Setup OCaml ${{ matrix.ocaml-compiler }}
      uses: avsm/setup-ocaml@v2
      with:
        ocaml-compiler: ${{ matrix.ocaml-compiler }}
    - name: Build OCaml core
      run: |
        opam install --deps-only .
        eval $(opam env)
        make build
    - name: Install Python dependencies
      run: |
        python -m pip install --upgrade pip
        if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi
    - name: Test with pytest
      run: |
        eval $(opam env)
        make test
