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: ubuntu-latest name: Tests (py${{ matrix.python }}) strategy: fail-fast: false matrix: python: ["3.10", "3.12"] 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