Skip to content

Commit b13bcb0

Browse files
emmettbutlerbrettlangdonP403n1x87gnufedeerikayasuda
authored
ci(botocore): enable 3.13 tests (#11803)
This change enables tests under Python 3.13 for the integrations related to botocore. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting) --------- Co-authored-by: brettlangdon <[email protected]> Co-authored-by: Gabriele N. Tornetta <[email protected]> Co-authored-by: Federico Mon <[email protected]> Co-authored-by: erikayasuda <[email protected]> Co-authored-by: Brett Langdon <[email protected]>
1 parent b769e1e commit b13bcb0

File tree

7 files changed

+154
-3
lines changed

7 files changed

+154
-3
lines changed

Diff for: .riot/requirements/127eabf.txt

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/127eabf.in
6+
#
7+
annotated-types==0.7.0
8+
attrs==24.3.0
9+
aws-sam-translator==1.94.0
10+
aws-xray-sdk==2.14.0
11+
boto3==1.34.49
12+
botocore==1.34.49
13+
certifi==2024.12.14
14+
cffi==1.17.1
15+
cfn-lint==1.22.2
16+
charset-normalizer==3.4.0
17+
coverage[toml]==7.6.9
18+
cryptography==44.0.0
19+
docker==7.1.0
20+
ecdsa==0.19.0
21+
graphql-core==3.2.5
22+
hypothesis==6.45.0
23+
idna==3.10
24+
iniconfig==2.0.0
25+
jinja2==3.1.4
26+
jmespath==1.0.1
27+
jsondiff==2.2.1
28+
jsonpatch==1.33
29+
jsonpointer==3.0.0
30+
jsonschema==4.23.0
31+
jsonschema-path==0.3.3
32+
jsonschema-specifications==2023.12.1
33+
lazy-object-proxy==1.10.0
34+
markupsafe==3.0.2
35+
mock==5.1.0
36+
moto[all]==4.2.14
37+
mpmath==1.3.0
38+
multidict==6.1.0
39+
multipart==1.2.1
40+
networkx==3.4.2
41+
openapi-schema-validator==0.6.2
42+
openapi-spec-validator==0.7.1
43+
opentracing==2.4.0
44+
packaging==24.2
45+
pathable==0.4.3
46+
pluggy==1.5.0
47+
propcache==0.2.1
48+
py-partiql-parser==0.5.0
49+
pyasn1==0.6.1
50+
pycparser==2.22
51+
pydantic==2.10.4
52+
pydantic-core==2.27.2
53+
pyparsing==3.2.0
54+
pytest==8.3.4
55+
pytest-cov==6.0.0
56+
pytest-mock==3.14.0
57+
pytest-randomly==3.16.0
58+
python-dateutil==2.9.0.post0
59+
python-jose[cryptography]==3.3.0
60+
pyyaml==6.0.2
61+
referencing==0.35.1
62+
regex==2024.11.6
63+
requests==2.32.3
64+
responses==0.25.3
65+
rfc3339-validator==0.1.4
66+
rpds-py==0.22.3
67+
rsa==4.9
68+
s3transfer==0.10.4
69+
six==1.17.0
70+
sortedcontainers==2.4.0
71+
sshpubkeys==3.3.1
72+
sympy==1.13.3
73+
typing-extensions==4.12.2
74+
urllib3==2.0.7
75+
vcrpy==6.0.1
76+
werkzeug==3.1.3
77+
wrapt==1.17.0
78+
xmltodict==0.14.2
79+
yarl==1.18.3
80+
81+
# The following packages are considered to be unsafe in a requirements file:
82+
# setuptools

Diff for: .riot/requirements/1522dd0.txt

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/1522dd0.in
6+
#
7+
aiobotocore==2.16.0
8+
aiohappyeyeballs==2.4.4
9+
aiohttp==3.11.11
10+
aioitertools==0.12.0
11+
aiosignal==1.3.2
12+
async-generator==1.10
13+
attrs==24.3.0
14+
botocore==1.35.81
15+
coverage[toml]==7.6.9
16+
frozenlist==1.5.0
17+
hypothesis==6.45.0
18+
idna==3.10
19+
iniconfig==2.0.0
20+
jmespath==1.0.1
21+
mock==5.1.0
22+
multidict==6.1.0
23+
opentracing==2.4.0
24+
packaging==24.2
25+
pluggy==1.5.0
26+
propcache==0.2.1
27+
pytest==8.3.4
28+
pytest-asyncio==0.21.1
29+
pytest-cov==6.0.0
30+
pytest-mock==3.14.0
31+
pytest-randomly==3.16.0
32+
python-dateutil==2.9.0.post0
33+
six==1.17.0
34+
sortedcontainers==2.4.0
35+
urllib3==2.2.3
36+
wrapt==1.17.0
37+
yarl==1.18.3

Diff for: .riot/requirements/5ccc957.txt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/5ccc957.in
6+
#
7+
attrs==24.3.0
8+
coverage[toml]==7.6.9
9+
hypothesis==6.45.0
10+
iniconfig==2.0.0
11+
mock==5.1.0
12+
opentracing==2.4.0
13+
packaging==24.2
14+
pluggy==1.5.0
15+
pytest==8.3.4
16+
pytest-cov==6.0.0
17+
pytest-mock==3.14.0
18+
pytest-randomly==3.16.0
19+
sortedcontainers==2.4.0
20+
tornado==6.4.1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
upgrade:
3+
- |
4+
botocore: Makes boto-related integrations compatible with Python 3.13

Diff for: riotfile.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -1462,7 +1462,7 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT
14621462
},
14631463
venvs=[
14641464
Venv(
1465-
pys=select_pys(min_version="3.8", max_version="3.12"),
1465+
pys=select_pys(min_version="3.8"),
14661466
pkgs={"botocore": "==1.34.49", "boto3": "==1.34.49"},
14671467
),
14681468
],
@@ -1573,7 +1573,7 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT
15731573
),
15741574
Venv(
15751575
name="aiobotocore",
1576-
command="pytest {cmdargs} tests/contrib/aiobotocore",
1576+
command="pytest {cmdargs} --no-cov tests/contrib/aiobotocore",
15771577
pkgs={
15781578
"pytest-asyncio": "==0.21.1",
15791579
"async_generator": ["~=1.10"],
@@ -1587,7 +1587,7 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT
15871587
},
15881588
),
15891589
Venv(
1590-
pys=select_pys(min_version="3.12", max_version="3.12"),
1590+
pys=select_pys(min_version="3.12"),
15911591
pkgs={"aiobotocore": latest},
15921592
),
15931593
],
@@ -2700,6 +2700,11 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT
27002700
pys=select_pys(min_version="3.10", max_version="3.12"),
27012701
pkgs={"tornado": ["==6.2", "==6.3.1"]},
27022702
),
2703+
Venv(
2704+
# tornado fixed a bug affecting 3.13 in 6.4.1
2705+
pys=select_pys(min_version="3.13"),
2706+
pkgs={"tornado": "==6.4.1"},
2707+
),
27032708
],
27042709
),
27052710
Venv(

Diff for: tests/contrib/botocore/test.py

+1
Original file line numberDiff line numberDiff line change
@@ -3975,6 +3975,7 @@ def test_aws_payload_tagging_s3_invalid_config(self):
39753975
with pytest.raises(Exception):
39763976
s3.list_objects(bucket="mybucket")
39773977

3978+
@pytest.mark.skip(reason="broken during period of skipping on main branch")
39783979
@pytest.mark.snapshot(ignores=snapshot_ignores)
39793980
@mock_s3
39803981
def test_aws_payload_tagging_s3_valid_config(self):

Diff for: tests/contrib/fastapi/test_fastapi_appsec_iast.py

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
TEST_FILE_PATH = "tests/contrib/fastapi/test_fastapi_appsec_iast.py"
3535

3636
fastapi_version = tuple([int(v) for v in _fastapi_version.split(".")])
37+
if sys.version_info > (3, 12):
38+
pytest.skip(reason="IAST only supports Py3.12 and older", allow_module_level=True)
3739

3840

3941
def _aux_appsec_prepare_tracer(tracer):

0 commit comments

Comments
 (0)