name: Code Tests

on:
  pull_request:
  push:
    branches: [main]

jobs:
  run:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest]
        python-version: ["3.8", "3.12"]

    steps:
    - uses: actions/checkout@v3

    - name: Setup Micromamba Python ${{ matrix.python-version }}
      uses: mamba-org/setup-micromamba@v1
      with:
        environment-name: TEST
        init-shell: bash
        create-args: >-
          python=${{ matrix.python-version }} pip --file requirements.txt --file requirements-dev.txt --channel conda-forge

    - name: Install branca
      shell: bash -l {0}
      run: |
        python -m pip install -e . --no-deps --force-reinstall

    - name: Tests
      shell: bash -l {0}
      run: |
        python -m pytest -vv -rxs tests -m "not headless"
