on:
  workflow_call:

jobs:
  run-checks:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.10', '3.11', '3.12']
    steps:
      - uses: actions/checkout@v3
      - uses: ./.github/actions/setup-poetry
        with:
          python-version: ${{ matrix.python-version }}
      - name: Run styling check
        run: poetry run pre-commit run --all-files
      - name: Install with poetry
        run: poetry install --all-extras
      - name: Testing
        run: |
          poetry run pytest -v tests
      - name: Run examples
        run: |
          for file in examples/*.py; do
            # Skip batch_convert.py
            if [[ "$(basename "$file")" == "batch_convert.py" ]]; then
                echo "Skipping $file"
                continue
            fi

            echo "Running example $file"
            poetry run python "$file" || exit 1
          done
      - name: Build with poetry
        run: poetry build