{{ message }}
Repository navigation
Commit fb85760
Closes getsentry#7151
### Problem
`scripts/runtox.sh` selects tox environments with an unanchored `grep`
over `tox -l`:
```sh
ENV="$(uv run tox -l | grep -- "$searchstring" | grep -v -- '-latest$' | tr $'\n' ',')"
```
The Network workflow's `Test httpx` step passes `py<version>-httpx`,
which therefore also matches the `py<version>-httpx2-*` environments.
The result:
- On versions where both suites exist (e.g. 3.12), the `httpx` job ran
the httpx2 suite as well as its own, duplicating the work already done
by the `httpx2` job.
- On 3.14 / 3.14t / 3.15, where there are no `httpx` environments at
all, the `httpx` job ran **only** httpx2 environments — which is what
the issue reports.
### Fix
Rename the tox test suite from `httpx` to `httpx0` (httpx is still on
0.x), so the `httpx0` and `httpx2` selectors can no longer collide. This
follows the precedent set for `openai-base` in getsentry#4730, where the suite
was renamed rather than making the selector boundary-aware.
`integration_name: "httpx"` is added alongside the rename so the suite
keeps resolving to the existing integration:
- `_TESTPATH` stays `tests/integrations/httpx` (the test directory is
unchanged)
- the minimum supported version lookup against `_MIN_VERSIONS` in
`sentry_sdk/integrations/__init__.py` keeps working, so the suite still
floors at httpx 0.16.0
Without `integration_name` the suite would point at a nonexistent
`tests/integrations/httpx0` directory and lose its version floor.
### Changes
- `scripts/populate_tox/config.py` — rename the suite, add
`integration_name`
- `scripts/split_tox_gh_actions/split_tox_gh_actions.py` — update the
`Network` group
- `scripts/populate_tox/README.md` — the `python` key example documents
this suite; updated to match
- `tox.ini` and `.github/workflows/test-integrations-network.yml` —
regenerated
The `tox.ini` diff is a pure rename: 207 lines removed, 207 added, no
version or dependency changes.
### Note
The same class of collision still exists for `redis`, which is a prefix
of `redis_py_cluster_legacy`, so the `Test redis` step also runs the
cluster-legacy suite. Left out of this PR to keep it scoped to getsentry#7151 —
happy to open a separate issue for it.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 4e3528e commit fb85760
5 files changed
Lines changed: 231 additions & 230 deletions
File tree
- .github/workflows
- scripts
- populate_tox
- split_tox_gh_actions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
| 149 | + | |
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
208 | | - | |
| 208 | + | |
209 | 209 | | |
| 210 | + | |
210 | 211 | | |
211 | 212 | | |
212 | 213 | | |
| |||

0 commit comments