Bump pytest from 9.0.2 to 9.0.3 #32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: AutoControl Code Quality | |
| # Static analysis (ruff, bandit) plus the headless pytest suite added in | |
| # rounds 22-30. Decoupled from the existing dev/stable workflows, which | |
| # run legacy standalone test scripts and exist for hardware integration | |
| # coverage on Windows runners. | |
| on: | |
| push: | |
| branches: [ "dev", "main", "stable" ] | |
| pull_request: | |
| branches: [ "dev", "main", "stable" ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: "pip" | |
| - name: Install ruff | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff | |
| - name: Run ruff | |
| run: ruff check je_auto_control/ | |
| security: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: "pip" | |
| - name: Install bandit | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install bandit | |
| - name: Run bandit (recursive, skip tests + i18n dicts) | |
| run: bandit -r je_auto_control/ -c pyproject.toml | |
| pytest-headless: | |
| runs-on: windows-2022 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: "pip" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip wheel | |
| # Install the editable package FIRST so its source dir is the | |
| # one Python sees on subsequent imports. We deliberately | |
| # avoid `pip install -r dev_requirements.txt` here because | |
| # that file pulls in `je_auto_control_dev` (a separate PyPI | |
| # package), which ships its own snapshot of `je_auto_control/` | |
| # straight into site-packages and masks the editable install | |
| # for any sub-package the snapshot doesn't include | |
| # (admin, usb, remote_desktop, vision, …). | |
| pip install -e . | |
| pip install ruff==0.15.9 bandit==1.9.4 pytest==9.0.2 pytest-timeout==2.4.0 pytest-rerunfailures==15.1 PySide6==6.11.0 | |
| - name: Run headless pytest suite | |
| run: pytest test/unit_test/headless/ -v --tb=short --timeout=120 |