Skip to content

Commit 7ae6866

Browse files
ci: 🤖 Update test matrix with new releases (09/18) (#4816)
Update our test matrix with new releases of integrated frameworks and libraries. ## How it works - Scan PyPI for all supported releases of all frameworks we have a dedicated test suite for. - Pick a representative sample of releases to run our test suite against. We always test the latest and oldest supported version. - Update [tox.ini](https://github.com/getsentry/sentry-python/blob/master/tox.ini) with the new releases. ## Action required - If CI passes on this PR, it's safe to approve and merge. It means our integrations can handle new versions of frameworks that got pulled in. - If CI doesn't pass on this PR, this points to an incompatibility of either our integration or our test setup with a new version of a framework. - Check what the failures look like and either fix them, or update the [test config](https://github.com/getsentry/sentry-python/blob/master/scripts/populate_tox/config.py) and rerun [scripts/generate-test-files.sh](https://github.com/getsentry/sentry-python/blob/master/scripts/generate-test-files.sh). See [scripts/populate_tox/README.md](https://github.com/getsentry/sentry-python/blob/master/scripts/populate_tox/README.md) for what configuration options are available. _____________________ _🤖 This PR was automatically created using [a GitHub action](https://github.com/getsentry/sentry-python/blob/master/.github/workflows/update-tox.yml)._ Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 092b5cb commit 7ae6866

File tree

2 files changed

+24
-20
lines changed

2 files changed

+24
-20
lines changed

‎scripts/populate_tox/populate_tox.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ def _render_dependencies(integration: str, releases: list[Version]) -> list[str]
438438
for dep in deps:
439439
rendered.append(f"{{{constraint}}}-{integration}: {dep}")
440440
else:
441-
restriction = SpecifierSet(constraint)
441+
restriction = SpecifierSet(constraint, prereleases=True)
442442
for release in releases:
443443
if release in restriction:
444444
for dep in deps:

‎tox.ini‎

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# The file (and all resulting CI YAMLs) then need to be regenerated via
1111
# "scripts/generate-test-files.sh".
1212
#
13-
# Last generated: 2025-09-17T14:43:06.969007+00:00
13+
# Last generated: 2025-09-18T06:43:59.191429+00:00
1414

1515
[tox]
1616
requires =
@@ -95,7 +95,7 @@ envlist =
9595
{py3.8,py3.11,py3.12}-anthropic-v0.16.0
9696
{py3.8,py3.11,py3.12}-anthropic-v0.33.1
9797
{py3.8,py3.11,py3.12}-anthropic-v0.50.0
98-
{py3.8,py3.12,py3.13}-anthropic-v0.67.0
98+
{py3.8,py3.12,py3.13}-anthropic-v0.68.0
9999

100100
{py3.9,py3.10,py3.11}-cohere-v5.4.0
101101
{py3.9,py3.11,py3.12}-cohere-v5.9.4
@@ -111,14 +111,14 @@ envlist =
111111
{py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27
112112

113113
{py3.8,py3.11,py3.12}-openai-base-v1.0.1
114-
{py3.8,py3.11,py3.12}-openai-base-v1.36.1
115-
{py3.8,py3.11,py3.12}-openai-base-v1.71.0
116-
{py3.8,py3.12,py3.13}-openai-base-v1.107.3
114+
{py3.8,py3.11,py3.12}-openai-base-v1.37.2
115+
{py3.8,py3.11,py3.12}-openai-base-v1.73.0
116+
{py3.8,py3.12,py3.13}-openai-base-v1.108.0
117117

118118
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.0.1
119-
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.36.1
120-
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.71.0
121-
{py3.8,py3.12,py3.13}-openai-notiktoken-v1.107.3
119+
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.37.2
120+
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.73.0
121+
{py3.8,py3.12,py3.13}-openai-notiktoken-v1.108.0
122122

123123
{py3.9,py3.12,py3.13}-langgraph-v0.6.7
124124
{py3.10,py3.12,py3.13}-langgraph-v1.0.0a3
@@ -138,7 +138,7 @@ envlist =
138138
{py3.6,py3.7}-boto3-v1.12.49
139139
{py3.6,py3.9,py3.10}-boto3-v1.20.54
140140
{py3.7,py3.11,py3.12}-boto3-v1.28.85
141-
{py3.9,py3.12,py3.13}-boto3-v1.40.32
141+
{py3.9,py3.12,py3.13}-boto3-v1.40.33
142142

143143
{py3.6,py3.7,py3.8}-chalice-v1.16.0
144144
{py3.6,py3.7,py3.8}-chalice-v1.21.9
@@ -254,6 +254,7 @@ envlist =
254254
{py3.8,py3.11,py3.12}-django-v4.2.24
255255
{py3.10,py3.11,py3.12}-django-v5.0.14
256256
{py3.10,py3.12,py3.13}-django-v5.2.6
257+
{py3.12,py3.13}-django-v6.0a1
257258

258259
{py3.6,py3.7,py3.8}-flask-v1.1.4
259260
{py3.8,py3.12,py3.13}-flask-v2.3.3
@@ -459,7 +460,7 @@ deps =
459460
anthropic-v0.16.0: anthropic==0.16.0
460461
anthropic-v0.33.1: anthropic==0.33.1
461462
anthropic-v0.50.0: anthropic==0.50.0
462-
anthropic-v0.67.0: anthropic==0.67.0
463+
anthropic-v0.68.0: anthropic==0.68.0
463464
anthropic: pytest-asyncio
464465
anthropic-v0.16.0: httpx<0.28.0
465466
anthropic-v0.33.1: httpx<0.28.0
@@ -485,21 +486,21 @@ deps =
485486
langchain-notiktoken-v0.3.27: langchain-community
486487

487488
openai-base-v1.0.1: openai==1.0.1
488-
openai-base-v1.36.1: openai==1.36.1
489-
openai-base-v1.71.0: openai==1.71.0
490-
openai-base-v1.107.3: openai==1.107.3
489+
openai-base-v1.37.2: openai==1.37.2
490+
openai-base-v1.73.0: openai==1.73.0
491+
openai-base-v1.108.0: openai==1.108.0
491492
openai-base: pytest-asyncio
492493
openai-base: tiktoken
493494
openai-base-v1.0.1: httpx<0.28
494-
openai-base-v1.36.1: httpx<0.28
495+
openai-base-v1.37.2: httpx<0.28
495496

496497
openai-notiktoken-v1.0.1: openai==1.0.1
497-
openai-notiktoken-v1.36.1: openai==1.36.1
498-
openai-notiktoken-v1.71.0: openai==1.71.0
499-
openai-notiktoken-v1.107.3: openai==1.107.3
498+
openai-notiktoken-v1.37.2: openai==1.37.2
499+
openai-notiktoken-v1.73.0: openai==1.73.0
500+
openai-notiktoken-v1.108.0: openai==1.108.0
500501
openai-notiktoken: pytest-asyncio
501502
openai-notiktoken-v1.0.1: httpx<0.28
502-
openai-notiktoken-v1.36.1: httpx<0.28
503+
openai-notiktoken-v1.37.2: httpx<0.28
503504

504505
langgraph-v0.6.7: langgraph==0.6.7
505506
langgraph-v1.0.0a3: langgraph==1.0.0a3
@@ -521,7 +522,7 @@ deps =
521522
boto3-v1.12.49: boto3==1.12.49
522523
boto3-v1.20.54: boto3==1.20.54
523524
boto3-v1.28.85: boto3==1.28.85
524-
boto3-v1.40.32: boto3==1.40.32
525+
boto3-v1.40.33: boto3==1.40.33
525526
{py3.7,py3.8}-boto3: urllib3<2.0.0
526527

527528
chalice-v1.16.0: chalice==1.16.0
@@ -665,6 +666,7 @@ deps =
665666
django-v4.2.24: django==4.2.24
666667
django-v5.0.14: django==5.0.14
667668
django-v5.2.6: django==5.2.6
669+
django-v6.0a1: django==6.0a1
668670
django: psycopg2-binary
669671
django: djangorestframework
670672
django: pytest-django
@@ -674,11 +676,13 @@ deps =
674676
django-v4.2.24: channels[daphne]
675677
django-v5.0.14: channels[daphne]
676678
django-v5.2.6: channels[daphne]
679+
django-v6.0a1: channels[daphne]
677680
django-v2.2.28: six
678681
django-v3.2.25: pytest-asyncio
679682
django-v4.2.24: pytest-asyncio
680683
django-v5.0.14: pytest-asyncio
681684
django-v5.2.6: pytest-asyncio
685+
django-v6.0a1: pytest-asyncio
682686
django-v1.11.29: djangorestframework>=3.0,<4.0
683687
django-v1.11.29: Werkzeug<2.1.0
684688
django-v2.2.28: djangorestframework>=3.0,<4.0

0 commit comments

Comments
 (0)