ci: Pin transitive dependencies for tests on Python>=3.8#6437
Merged
alexander-alderman-webb merged 30 commits intoJun 2, 2026
@sentry/warden / warden: code-review
completed
May 29, 2026 in 5m 28s
1 issue
code-review: Found 1 issue (1 medium)
Medium
try/except only catches DryRunFailed, leaving json.JSONDecodeError unhandled when pip succeeds with non-JSON output - `scripts/populate_tox/populate_tox.py:1233-1237`
If uv/pip exits with code 0 but emits non-JSON output (e.g. warnings that slip through -qqq), json.loads in _run_pip_dry_run raises json.JSONDecodeError, which is not caught by except DryRunFailed here and will crash the entire script instead of skipping that python version gracefully. Have you considered widening the except clause to also catch json.JSONDecodeError (and possibly KeyError)?
⏱ 5m 16s · 461.0k in / 28.4k out · $0.99
Annotations
Check warning on line 1237 in scripts/populate_tox/populate_tox.py
sentry-warden / warden: code-review
try/except only catches DryRunFailed, leaving json.JSONDecodeError unhandled when pip succeeds with non-JSON output
If `uv`/pip exits with code 0 but emits non-JSON output (e.g. warnings that slip through `-qqq`), `json.loads` in `_run_pip_dry_run` raises `json.JSONDecodeError`, which is not caught by `except DryRunFailed` here and will crash the entire script instead of skipping that python version gracefully. Have you considered widening the except clause to also catch `json.JSONDecodeError` (and possibly `KeyError`)?
Loading