The Debian runner image marks its Python as externally managed, so `pip3 install` fails with error: externally-managed-environment, breaking the test/lint/security workflows at the install step (unrelated to the code under test). Add --break-system-packages; the runner is ephemeral so a system-wide install is fine. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
678 B
YAML
25 lines
678 B
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: ["**"]
|
|
pull_request:
|
|
branches: ["**"]
|
|
|
|
jobs:
|
|
pytest:
|
|
name: Python Tests (pytest)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install Python and dependencies
|
|
run: |
|
|
apt-get update -qq
|
|
apt-get install -y -qq python3 python3-pip python3-pytest python3-psutil python3-requests
|
|
# Debian's Python is externally managed (PEP 668); the runner is ephemeral.
|
|
pip3 install --break-system-packages pytest-cov
|
|
|
|
- name: Run pytest with coverage
|
|
run: python3 -m pytest tests/ -v --cov=. --cov-report=term-missing --cov-config=.coveragerc
|