name: CI on: push: branches: [main] pull_request: workflow_dispatch: jobs: lint: runs-on: ubuntu-latest name: Lint (ruff) steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python 3.12 uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install ruff run: pip install ruff - name: ruff check run: ruff check . - name: ruff format --check run: ruff format --check . test: runs-on: ${{ matrix.os }} name: Tests (py${{ matrix.python }} / ${{ matrix.os }}) strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] python: ["3.10", "3.12", "3.13"] steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} # bcc_core has no GUI imports, so the test suite needs no PySide6 — # keeps CI fast and avoids Qt system-library headaches on the runner. - name: Install test dependencies run: pip install pytest - name: Run tests run: python -m pytest -v