Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions .github/workflows/test-integrations-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,73 +22,6 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dist-serverless
jobs:
test-network-latest:
name: Network (latest)
timeout-minutes: 30
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.9","3.12","3.13"]
# python3.6 reached EOL and is no longer being supported on
# new versions of hosted runners on Github Actions
# ubuntu-20.04 is the last version that supported python3.6
# see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877
os: [ubuntu-22.04]
# Use Docker container only for Python 3.6
container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }}
steps:
- uses: actions/[email protected]
- uses: actions/setup-python@v5
if: ${{ matrix.python-version != '3.6' }}
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Setup Test Env
run: |
pip install "coverage[toml]" tox
- name: Erase coverage
run: |
coverage erase
- name: Test grpc latest
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-grpc-latest"
- name: Test httpx latest
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-httpx-latest"
- name: Test requests latest
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-requests-latest"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
export COVERAGE_RCFILE=.coveragerc36
coverage combine .coverage-sentry-*
coverage xml --ignore-errors
- name: Generate coverage XML
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
run: |
coverage combine .coverage-sentry-*
coverage xml
- name: Upload coverage to Codecov
if: ${{ !cancelled() }}
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
# make sure no plugins alter our coverage reports
plugins: noop
verbose: true
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: .junitxml
verbose: true
test-network-pinned:
name: Network (pinned)
timeout-minutes: 30
Expand Down
17 changes: 17 additions & 0 deletions scripts/populate_tox/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,23 @@
},
"python": ">=3.7",
},
"httpx": {
"package": "httpx",
"deps": {
"*": ["anyio<4.0.0"],
">=0.16,<0.17": ["pytest-httpx==0.10.0"],
">=0.17,<0.19": ["pytest-httpx==0.12.0"],
">=0.19,<0.21": ["pytest-httpx==0.14.0"],
">=0.21,<0.23": ["pytest-httpx==0.19.0"],
">=0.23,<0.24": ["pytest-httpx==0.21.0"],
">=0.24,<0.25": ["pytest-httpx==0.22.0"],
">=0.25,<0.26": ["pytest-httpx==0.25.0"],
">=0.26,<0.27": ["pytest-httpx==0.28.0"],
">=0.27,<0.28": ["pytest-httpx==0.30.0"],
">=0.28,<0.29": ["pytest-httpx==0.35.0"],
},
"python": ">=3.9",
},
"huey": {
"package": "huey",
},
Expand Down
3 changes: 1 addition & 2 deletions scripts/populate_tox/populate_tox.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,12 @@
"aws_lambda",
"cloud_resource_context",
"common",
"gcp",
"gevent",
"opentelemetry",
"potel",
# Integrations that can be migrated -- we should eventually remove all
# of these from the IGNORE list
"gcp",
"httpx",
"pure_eval",
"ray",
"redis",
Expand Down
28 changes: 0 additions & 28 deletions scripts/populate_tox/tox.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,6 @@ envlist =
# GCP
{py3.7}-gcp

# HTTPX
{py3.6,py3.9}-httpx-v{0.16,0.18}
{py3.6,py3.10}-httpx-v{0.20,0.22}
{py3.7,py3.11,py3.12}-httpx-v{0.23,0.24}
{py3.9,py3.11,py3.12}-httpx-v{0.25,0.27}
{py3.9,py3.12,py3.13}-httpx-latest

# OpenTelemetry (OTel)
{py3.7,py3.9,py3.12,py3.13}-opentelemetry

Expand Down Expand Up @@ -149,27 +142,6 @@ deps =
aws_lambda: requests
aws_lambda: uvicorn

# HTTPX
httpx-v0.16: pytest-httpx==0.10.0
httpx-v0.18: pytest-httpx==0.12.0
httpx-v0.20: pytest-httpx==0.14.0
httpx-v0.22: pytest-httpx==0.19.0
httpx-v0.23: pytest-httpx==0.21.0
httpx-v0.24: pytest-httpx==0.22.0
httpx-v0.25: pytest-httpx==0.25.0
httpx: pytest-httpx
# anyio is a dep of httpx
httpx: anyio<4.0.0
httpx-v0.16: httpx~=0.16.0
httpx-v0.18: httpx~=0.18.0
httpx-v0.20: httpx~=0.20.0
httpx-v0.22: httpx~=0.22.0
httpx-v0.23: httpx~=0.23.0
httpx-v0.24: httpx~=0.24.0
httpx-v0.25: httpx~=0.25.0
httpx-v0.27: httpx~=0.27.0
httpx-latest: httpx

# OpenTelemetry (OTel)
opentelemetry: opentelemetry-distro

Expand Down
1 change: 1 addition & 0 deletions sentry_sdk/integrations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ def iter_default_integrations(with_auto_enabling_integrations):
"gql": (3, 4, 1),
"graphene": (3, 3),
"grpc": (1, 32, 0), # grpcio
"httpx": (0, 16, 0),
"huggingface_hub": (0, 22),
"langchain": (0, 1, 0),
"langgraph": (0, 6, 6),
Expand Down
45 changes: 16 additions & 29 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# The file (and all resulting CI YAMLs) then need to be regenerated via
# "scripts/generate-test-files.sh".
#
# Last generated: 2025-09-08T11:35:09.849536+00:00
# Last generated: 2025-09-08T13:23:47.638863+00:00

[tox]
requires =
Expand Down Expand Up @@ -48,13 +48,6 @@ envlist =
# GCP
{py3.7}-gcp

# HTTPX
{py3.6,py3.9}-httpx-v{0.16,0.18}
{py3.6,py3.10}-httpx-v{0.20,0.22}
{py3.7,py3.11,py3.12}-httpx-v{0.23,0.24}
{py3.9,py3.11,py3.12}-httpx-v{0.25,0.27}
{py3.9,py3.12,py3.13}-httpx-latest

# OpenTelemetry (OTel)
{py3.7,py3.9,py3.12,py3.13}-opentelemetry

Expand Down Expand Up @@ -218,6 +211,11 @@ envlist =
{py3.9,py3.12,py3.13}-grpc-v1.74.0
{py3.9,py3.12,py3.13}-grpc-v1.75.0rc1

{py3.9}-httpx-v0.16.1
{py3.9,py3.10}-httpx-v0.20.0
{py3.9,py3.10,py3.11}-httpx-v0.24.1
{py3.9,py3.11,py3.12}-httpx-v0.28.1


# ~~~ Tasks ~~~
{py3.7,py3.9,py3.10}-arq-v0.23
Expand Down Expand Up @@ -373,27 +371,6 @@ deps =
aws_lambda: requests
aws_lambda: uvicorn

# HTTPX
httpx-v0.16: pytest-httpx==0.10.0
httpx-v0.18: pytest-httpx==0.12.0
httpx-v0.20: pytest-httpx==0.14.0
httpx-v0.22: pytest-httpx==0.19.0
httpx-v0.23: pytest-httpx==0.21.0
httpx-v0.24: pytest-httpx==0.22.0
httpx-v0.25: pytest-httpx==0.25.0
httpx: pytest-httpx
# anyio is a dep of httpx
httpx: anyio<4.0.0
httpx-v0.16: httpx~=0.16.0
httpx-v0.18: httpx~=0.18.0
httpx-v0.20: httpx~=0.20.0
httpx-v0.22: httpx~=0.22.0
httpx-v0.23: httpx~=0.23.0
httpx-v0.24: httpx~=0.24.0
httpx-v0.25: httpx~=0.25.0
httpx-v0.27: httpx~=0.27.0
httpx-latest: httpx

# OpenTelemetry (OTel)
opentelemetry: opentelemetry-distro

Expand Down Expand Up @@ -618,6 +595,16 @@ deps =
grpc: types-protobuf
grpc: pytest-asyncio

httpx-v0.16.1: httpx==0.16.1
httpx-v0.20.0: httpx==0.20.0
httpx-v0.24.1: httpx==0.24.1
httpx-v0.28.1: httpx==0.28.1
httpx: anyio<4.0.0
httpx-v0.16.1: pytest-httpx==0.10.0
httpx-v0.20.0: pytest-httpx==0.14.0
httpx-v0.24.1: pytest-httpx==0.22.0
httpx-v0.28.1: pytest-httpx==0.35.0


# ~~~ Tasks ~~~
arq-v0.23: arq==0.23
Expand Down