Skip to content

Commit cb8a8a0

Browse files
ci: audit runtime deps only in publish workflow
The 1.6.0 publish run failed at the pip-audit step on two CVEs in `pip` itself, even though `pip` is not a runtime dependency of the published `hyperping` wheel. The root cause was that pip-audit was scanning the entire venv (which uv populates with build/dev tooling including pip) instead of the dependency closure that users actually install. Switch the publish-time audit to operate on a freshly exported runtime-only requirements file (`uv export --no-dev --no-emit-project`). This audits exactly what `pip install hyperping` would resolve to, and silences env-only noise without ignoring real CVE IDs. Local check: $ uv export --no-dev --no-emit-project --no-hashes \ --format requirements.txt -o /tmp/req.txt $ uv run pip-audit -r /tmp/req.txt No known vulnerabilities found ci.yml's audit step is `continue-on-error: true` and is unaffected; can be tightened the same way in a follow-up.
1 parent 4495a3e commit cb8a8a0

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

‎.github/workflows/publish.yml‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@ jobs:
1616
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
1717
with: { python-version: "3.12" }
1818
- run: uv sync --all-extras
19-
- name: Audit dependencies
20-
run: uv run pip-audit
19+
- name: Audit runtime dependencies
20+
# Audit the runtime dependency closure (what users actually install
21+
# via `pip install hyperping`), not the full venv. The venv contains
22+
# build/dev tooling such as `pip` itself which is not shipped in the
23+
# wheel; auditing the env conflates "vulnerabilities in our package"
24+
# with "vulnerabilities in CI tooling" and produces release-blocking
25+
# noise for CVEs that don't reach users.
26+
run: |
27+
uv export --no-dev --no-emit-project --no-hashes \
28+
--format requirements.txt -o /tmp/runtime-requirements.txt
29+
uv run pip-audit -r /tmp/runtime-requirements.txt
2130
- run: uv run pytest
2231
- run: uv build
2332

0 commit comments

Comments
 (0)