Skip to content

Commit a03b7f8

Browse files
committed
➕ Add Python 3.10 support to CI
Signed-off-by: Harmouch101 <[email protected]>
1 parent df21609 commit a03b7f8

File tree

3 files changed

+132
-19
lines changed

3 files changed

+132
-19
lines changed

.circleci/config.yml

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,11 +627,102 @@ jobs:
627627
- image: circleci/python:3.9
628628
environment:
629629
TOXENV: py39-wheel-cli
630+
#
631+
# Python 3.10
632+
#
633+
py310-core:
634+
<<: *common
635+
docker:
636+
- image: circleci/python:3.10
637+
environment:
638+
TOXENV: py310-core
639+
640+
py310-ens:
641+
<<: *common
642+
docker:
643+
- image: circleci/python:3.10
644+
environment:
645+
TOXENV: py310-ens
646+
647+
py310-ethpm:
648+
<<: *ethpm_steps
649+
docker:
650+
- image: circleci/python:3.10
651+
environment:
652+
TOXENV: py310-ethpm
653+
# Please don't use this key for any shenanigans
654+
WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22
655+
656+
py310-integration-goethereum-ipc:
657+
<<: *geth_steps
658+
docker:
659+
- image: circleci/python:3.10
660+
environment:
661+
TOXENV: py310-integration-goethereum-ipc
662+
GETH_VERSION: v1.10.8
663+
664+
py310-integration-goethereum-http:
665+
<<: *geth_steps
666+
docker:
667+
- image: circleci/python:3.10
668+
environment:
669+
TOXENV: py310-integration-goethereum-http
670+
GETH_VERSION: v1.10.8
671+
672+
py310-integration-goethereum-ws:
673+
<<: *geth_steps
674+
docker:
675+
- image: circleci/python:3.10
676+
environment:
677+
TOXENV: py310-integration-goethereum-ws
678+
GETH_VERSION: v1.10.8
679+
680+
# py310-integration-parity-ipc:
681+
# <<: *parity_steps
682+
# docker:
683+
# - image: circleci/python:3.10
684+
# environment:
685+
# TOXENV: py310-integration-parity-ipc
686+
# PARITY_VERSION: v2.3.5
687+
# PARITY_OS: linux
688+
689+
# py310-integration-parity-http:
690+
# <<: *parity_steps
691+
# docker:
692+
# - image: circleci/python:3.10
693+
# environment:
694+
# TOXENV: py310-integration-parity-http
695+
# PARITY_VERSION: v2.3.5
696+
# PARITY_OS: linux
697+
698+
# py310-integration-parity-ws:
699+
# <<: *parity_steps
700+
# docker:
701+
# - image: circleci/python:3.10
702+
# environment:
703+
# TOXENV: py310-integration-parity-ws
704+
# PARITY_VERSION: v2.3.5
705+
# PARITY_OS: linux
706+
707+
py310-integration-ethtester-pyevm:
708+
<<: *common
709+
docker:
710+
- image: circleci/python:3.10
711+
environment:
712+
TOXENV: py310-integration-ethtester
713+
ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend
714+
715+
py310-wheel-cli:
716+
<<: *common
717+
docker:
718+
- image: circleci/python:3.10
719+
environment:
720+
TOXENV: py310-wheel-cli
630721

631722
benchmark:
632723
<<: *geth_steps
633724
docker:
634-
- image: circleci/python:3.9
725+
- image: circleci/python:3.10
635726
environment:
636727
TOXENV: benchmark
637728
GETH_VERSION: v1.10.8
@@ -645,6 +736,7 @@ workflows:
645736
- py37-core
646737
- py38-core
647738
- py39-core
739+
- py310-core
648740
- lint
649741
- docs
650742
- benchmark
@@ -689,3 +781,16 @@ workflows:
689781
# - py39-integration-parity-ws
690782
- py39-integration-ethtester-pyevm
691783
- py39-wheel-cli
784+
- py310-integration-ethtester-pyevm
785+
- py310-wheel-cli
786+
- py310-ens
787+
- py310-ethpm
788+
- py310-integration-goethereum-ipc
789+
- py310-integration-goethereum-http
790+
- py310-integration-goethereum-ws
791+
# - py310-integration-parity-ipc
792+
# - py310-integration-parity-http
793+
# - py310-integration-parity-ws
794+
- py310-integration-ethtester-pyevm
795+
- py310-wheel-cli
796+

setup.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111
"py-geth>=3.5.0,<4",
1212
],
1313
'linter': [
14-
"flake8==3.8.3",
15-
"isort>=4.2.15,<4.3.5",
16-
"mypy==0.812",
14+
"flake8>=3.8.3,<=3.9.2",
15+
"isort>=4.2.15,<=5.9.3",
16+
"mypy>=0.812,<=0.910",
1717
],
1818
'docs': [
1919
"mock",
20-
"sphinx-better-theme>=0.1.4",
21-
"click>=5.1",
22-
"configparser==3.5.0",
23-
"contextlib2>=0.5.4",
20+
"sphinx-better-theme>=0.1.4,<=0.13",
21+
"click>=5.1,<=8.0.1",
22+
"configparser==3.5.0,<=5.0.2",
23+
"contextlib2>=0.5.4,<=0.6.0",
2424
"py-geth>=3.5.0,<4",
25-
"py-solc>=0.4.0",
26-
"pytest>=4.4.0,<5.0.0",
27-
"sphinx>=3.0,<4",
28-
"sphinx_rtd_theme>=0.1.9",
29-
"toposort>=1.4",
30-
"towncrier==18.5.0",
25+
"py-solc>=0.4.0,<4.0.0",
26+
"pytest>=4.4.0,<6.3.0",
27+
"sphinx>=3.0,<=4.2.0",
28+
"sphinx_rtd_theme>=0.1.9,<=1.0.0",
29+
"toposort>=1.4,<=2.0.2",
30+
"towncrier>=18.5.0,<=21.3.0",
3131
"urllib3",
3232
"wheel"
3333
],
@@ -108,5 +108,6 @@
108108
'Programming Language :: Python :: 3.7',
109109
'Programming Language :: Python :: 3.8',
110110
'Programming Language :: Python :: 3.9',
111+
'Programming Language :: Python :: 3.10',
111112
],
112113
)

tox.ini

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
[tox]
22
envlist=
3-
py{36,37,38,39}-ens
4-
py{36,37,38,39}-ethpm
5-
py{36,37,38,39}-core
6-
py{36,37,38,39}-integration-{goethereum,ethtester}
3+
py{36,37,38,39,310}-ens
4+
py{36,37,38,39,310}-ethpm
5+
py{36,37,38,39,310}-core
6+
py{36,37,38,39,310}-integration-{goethereum,ethtester}
77
lint
88
docs
99
benchmark
10-
py{36,37,38,39}-wheel-cli
10+
py{36,37,38,39,310}-wheel-cli
1111

1212
[isort]
1313
combine_as_imports=True
@@ -53,6 +53,7 @@ basepython =
5353
py37: python3.7
5454
py38: python3.8
5555
py39: python3.9
56+
py310: python3.10
5657

5758
[testenv:lint]
5859
basepython=python
@@ -104,6 +105,12 @@ whitelist_externals={[common-wheel-cli]whitelist_externals}
104105
commands={[common-wheel-cli]commands}
105106
skip_install=true
106107

108+
[testenv:py310-wheel-cli]
109+
deps={[common-wheel-cli]deps}
110+
whitelist_externals={[common-wheel-cli]whitelist_externals}
111+
commands={[common-wheel-cli]commands}
112+
skip_install=true
113+
107114
[common-wheel-cli-windows]
108115
deps=wheel
109116
whitelist_externals=

0 commit comments

Comments
 (0)