name: test & lint on: push: branches: - "*" pull_request: types: [opened, reopened] workflow_dispatch: jobs: pytest: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] fail-fast: false steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dev dependencies run: "pip install .[dev]" - name: Run tests run: "python -m pytest -v" ruff: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install dev dependencies run: "pip install .[dev]" - name: Run linter run: "ruff check" pyright: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install dev dependencies run: "pip install .[dev]" - name: Run pyright uses: jakebailey/pyright-action@v2