Skip to content

Commit 40a1df1

Browse files
authored
test: Test Python3.11 in CI (aws#548)
1 parent f8aa29f commit 40a1df1

File tree

4 files changed

+84
-26
lines changed

4 files changed

+84
-26
lines changed

.github/workflows/ci_tests.yaml

+24-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ jobs:
3131
- 3.7
3232
- 3.8
3333
- 3.9
34-
- 3.x
34+
- "3.10"
35+
- "3.11"
36+
- 3.x # Ideally, we would skip if 3.x is 3.11
3537
architecture:
3638
- x64
3739
- x86
@@ -61,7 +63,7 @@ jobs:
6163
env:
6264
TOXENV: ${{ matrix.category }}
6365
run: tox -- -vv
64-
upstream-py3:
66+
upstream-py37:
6567
runs-on: ubuntu-latest
6668
strategy:
6769
fail-fast: true
@@ -81,3 +83,23 @@ jobs:
8183
env:
8284
TOXENV: ${{ matrix.category }}
8385
run: tox -- -vv
86+
upstream-py311:
87+
runs-on: ubuntu-latest
88+
strategy:
89+
fail-fast: true
90+
matrix:
91+
category:
92+
- nocmk
93+
- test-upstream-requirements-py311
94+
steps:
95+
- uses: actions/checkout@v3
96+
- uses: actions/setup-python@v4
97+
with:
98+
python-version: "3.11"
99+
- run: |
100+
python -m pip install --upgrade pip
101+
pip install --upgrade -r dev_requirements/ci-requirements.txt
102+
- name: run test
103+
env:
104+
TOXENV: ${{ matrix.category }}
105+
run: tox -- -vv

test/upstream-requirements-py311.txt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
attrs==22.2.0
2+
boto3==1.26.54
3+
botocore==1.29.54
4+
cffi==1.15.1
5+
coverage==7.0.5
6+
cryptography==39.0.0
7+
iniconfig==2.0.0
8+
jmespath==1.0.1
9+
mock==4.0.3
10+
packaging==23.0
11+
pluggy==1.0.0
12+
pycparser==2.21
13+
pytest==7.2.0
14+
pytest-cov==3.0.0
15+
pytest-mock==3.6.1
16+
python-dateutil==2.8.2
17+
s3transfer==0.6.0
18+
six==1.16.0
19+
urllib3==1.26.14
20+
wrapt==1.14.1

test/upstream-requirements-py37.txt

+22-23
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
1-
attrs==21.2.0
2-
boto3==1.17.92
3-
botocore==1.20.92
4-
cffi==1.14.5
5-
coverage==5.5
6-
cryptography==3.4.7
7-
importlib-metadata==4.5.0
8-
iniconfig==1.1.1
9-
jmespath==0.10.0
1+
attrs==22.2.0
2+
boto3==1.26.54
3+
botocore==1.29.54
4+
cffi==1.15.1
5+
coverage==7.0.5
6+
cryptography==39.0.0
7+
exceptiongroup==1.1.0
8+
importlib-metadata==6.0.0
9+
iniconfig==2.0.0
10+
jmespath==1.0.1
1011
mock==4.0.3
11-
packaging==20.9
12-
pluggy==0.13.1
13-
py==1.10.0
14-
pycparser==2.20
15-
pyparsing==2.4.7
16-
pytest==6.2.4
17-
pytest-cov==2.12.1
12+
packaging==23.0
13+
pluggy==1.0.0
14+
pycparser==2.21
15+
pytest==7.2.0
16+
pytest-cov==3.0.0
1817
pytest-mock==3.6.1
19-
python-dateutil==2.8.1
20-
s3transfer==0.4.2
18+
python-dateutil==2.8.2
19+
s3transfer==0.6.0
2120
six==1.16.0
22-
toml==0.10.2
23-
typing-extensions==3.10.0.0
24-
urllib3==1.26.5
25-
wrapt==1.12.1
26-
zipp==3.4.1
21+
tomli==2.0.1
22+
typing_extensions==4.4.0
23+
urllib3==1.26.14
24+
wrapt==1.14.1
25+
zipp==3.11.0

tox.ini

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tox]
22
envlist =
3-
py{37,38,39,310}-{local,integ,accept,examples}, nocmk,
3+
py{37,38,39,310,311}-{local,integ,accept,examples}, nocmk,
44
bandit, doc8, readme, docs,
55
{flake8,pylint}{,-tests,-examples},
66
isort-check, black-check,
@@ -103,6 +103,15 @@ recreate = {[testenv:freeze-upstream-requirements-base]recreate}
103103
deps = {[testenv:freeze-upstream-requirements-base]deps}
104104
commands = {[testenv:freeze-upstream-requirements-base]commands} test/upstream-requirements-py37.txt
105105

106+
# Freeze for Python 3.11
107+
[testenv:freeze-upstream-requirements-py311]
108+
basepython = python3.11
109+
sitepackages = {[testenv:freeze-upstream-requirements-base]sitepackages}
110+
skip_install = {[testenv:freeze-upstream-requirements-base]skip_install}
111+
recreate = {[testenv:freeze-upstream-requirements-base]recreate}
112+
deps = {[testenv:freeze-upstream-requirements-base]deps}
113+
commands = {[testenv:freeze-upstream-requirements-base]commands} test/upstream-requirements-py311.txt
114+
106115
# Test frozen upstream requirements
107116
[testenv:test-upstream-requirements-base]
108117
sitepackages = False
@@ -117,6 +126,14 @@ sitepackages = {[testenv:test-upstream-requirements-base]sitepackages}
117126
recreate = {[testenv:test-upstream-requirements-base]recreate}
118127
commands = {[testenv:test-upstream-requirements-base]commands}
119128

129+
# Test frozen upstream requirements for Python 3.11
130+
[testenv:test-upstream-requirements-py311]
131+
basepython = python3.11
132+
deps = -rtest/upstream-requirements-py311.txt
133+
sitepackages = {[testenv:test-upstream-requirements-base]sitepackages}
134+
recreate = {[testenv:test-upstream-requirements-base]recreate}
135+
commands = {[testenv:test-upstream-requirements-base]commands}
136+
120137
# Linters
121138
[testenv:flake8]
122139
basepython = python3

0 commit comments

Comments
 (0)