# Python Code Quality Analysis name: pycqa on: workflow_dispatch: push: branches: [master] pull_request: branches: [master] jobs: tooling: runs-on: ubuntu-latest env: PIP_DISABLE_PIP_VERSION_CHECK: 1 steps: # checkout repository - name: Checkout repository uses: actions/checkout@v6 # set up specific python version - name: Set up Python v3.10 uses: actions/setup-python@v6 with: python-version: "3.10" # tooling - name: Install 'tooling' dependencies run: pip install -r package/requirements.tooling.txt - name: Tooling run: | ruff format . ruff check . pyright . testing: strategy: fail-fast: true matrix: os: [ubuntu-latest] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.os }} steps: # checkout repository again! # ref: https://github.com/actions/checkout/issues/19 - name: Checkout repository uses: actions/checkout@v4 # set up specific python version - name: Set up Python v${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: "pip" # testing - name: Install 'testing' dependencies run: | pip install -r package/requirements.testing.txt pip install . - name: Testing run: pytest .