name: Tests
on:
  pull_request:
    branches: ["main", "dev"]
  workflow_dispatch:

jobs:
  tests:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ ubuntu-latest, windows-latest ]
        python-version: [ '3.12' ]

    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
          cache: pip
      - name: Install Dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -e .[dev]
      - name: Run linting
        run: |
          flake8 ./src/

      - name: Run tests
        run: |
          pytest     
