From 24e649248eb7410f3b9f20fc8d37d04103a27424 Mon Sep 17 00:00:00 2001 From: Harmouch101 Date: Thu, 7 Oct 2021 21:08:52 +0300 Subject: [PATCH] :heavy_plus_sign: Add Python 3.10 support to CI Signed-off-by: Harmouch101 --- .circleci/config.yml | 114 +++++++++++++++++++++++++++++++++++++++++++ setup.py | 27 +++++----- tox.ini | 17 +++++-- 3 files changed, 140 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 06da27b905..e848c4b83c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -636,6 +636,106 @@ jobs: TOXENV: benchmark GETH_VERSION: v1.10.8 + # + # Python 3.10 + # + py310-core: + <<: *common + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-core + + py310-ens: + <<: *common + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-ens + + py310-ethpm: + <<: *ethpm_steps + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-ethpm + # Please don't use this key for any shenanigans + WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22 + + py310-integration-goethereum-ipc: + <<: *geth_steps + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-integration-goethereum-ipc + GETH_VERSION: v1.10.8 + + py310-integration-goethereum-http: + <<: *geth_steps + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-integration-goethereum-http + GETH_VERSION: v1.10.8 + + py310-integration-goethereum-ws: + <<: *geth_steps + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-integration-goethereum-ws + GETH_VERSION: v1.10.8 + + # py310-integration-parity-ipc: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.10 + # environment: + # TOXENV: py310-integration-parity-ipc + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + # py310-integration-parity-http: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.10 + # environment: + # TOXENV: py310-integration-parity-http + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + # py310-integration-parity-ws: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.10 + # environment: + # TOXENV: py310-integration-parity-ws + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + py310-integration-ethtester-pyevm: + <<: *common + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-integration-ethtester + ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend + + py310-wheel-cli: + <<: *common + docker: + - image: circleci/python:3.10 + environment: + TOXENV: py310-wheel-cli + + benchmark: + <<: *geth_steps + docker: + - image: circleci/python:3.10 + environment: + TOXENV: benchmark + GETH_VERSION: v1.10.8 + workflows: version: 2.1 test: @@ -645,6 +745,7 @@ workflows: - py37-core - py38-core - py39-core + - py310-core - lint - docs - benchmark @@ -689,3 +790,16 @@ workflows: # - py39-integration-parity-ws - py39-integration-ethtester-pyevm - py39-wheel-cli + - py310-integration-ethtester-pyevm + - py310-wheel-cli + - py310-ens + - py310-ethpm + - py310-integration-goethereum-ipc + - py310-integration-goethereum-http + - py310-integration-goethereum-ws + # - py310-integration-parity-ipc + # - py310-integration-parity-http + # - py310-integration-parity-ws + - py310-integration-ethtester-pyevm + - py310-wheel-cli + diff --git a/setup.py b/setup.py index 8f9f33985f..a59c181670 100644 --- a/setup.py +++ b/setup.py @@ -11,23 +11,23 @@ "py-geth>=3.5.0,<4", ], 'linter': [ - "flake8==3.8.3", - "isort>=4.2.15,<4.3.5", - "mypy==0.812", + "flake8>=3.8.3,<=3.9.2", + "isort>=4.2.15,<=5.9.3", + "mypy>=0.812,<=0.910", ], 'docs': [ "mock", - "sphinx-better-theme>=0.1.4", - "click>=5.1", - "configparser==3.5.0", - "contextlib2>=0.5.4", + "sphinx-better-theme>=0.1.4,<=0.13", + "click>=5.1,<=8.0.1", + "configparser==3.5.0,<=5.0.2", + "contextlib2>=0.5.4,<=0.6.0", "py-geth>=3.5.0,<4", - "py-solc>=0.4.0", - "pytest>=4.4.0,<5.0.0", - "sphinx>=3.0,<4", - "sphinx_rtd_theme>=0.1.9", - "toposort>=1.4", - "towncrier==18.5.0", + "py-solc>=0.4.0,<4.0.0", + "pytest>=4.4.0,<6.3.0", + "sphinx>=3.0,<=4.2.0", + "sphinx_rtd_theme>=0.1.9,<=1.0.0", + "toposort>=1.4,<=2.0.2", + "towncrier>=18.5.0,<=21.3.0", "urllib3", "wheel" ], @@ -108,5 +108,6 @@ 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', ], ) diff --git a/tox.ini b/tox.ini index 75b1637e78..c0dce8c7c3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,13 @@ [tox] envlist= - py{36,37,38,39}-ens - py{36,37,38,39}-ethpm - py{36,37,38,39}-core - py{36,37,38,39}-integration-{goethereum,ethtester} + py{36,37,38,39,310}-ens + py{36,37,38,39,310}-ethpm + py{36,37,38,39,310}-core + py{36,37,38,39,310}-integration-{goethereum,ethtester} lint docs benchmark - py{36,37,38,39}-wheel-cli + py{36,37,38,39,310}-wheel-cli [isort] combine_as_imports=True @@ -53,6 +53,7 @@ basepython = py37: python3.7 py38: python3.8 py39: python3.9 + py310: python3.10 [testenv:lint] basepython=python @@ -104,6 +105,12 @@ whitelist_externals={[common-wheel-cli]whitelist_externals} commands={[common-wheel-cli]commands} skip_install=true +[testenv:py310-wheel-cli] +deps={[common-wheel-cli]deps} +whitelist_externals={[common-wheel-cli]whitelist_externals} +commands={[common-wheel-cli]commands} +skip_install=true + [common-wheel-cli-windows] deps=wheel whitelist_externals=