From 8eb6ab47653f7e8be52c310332f8f6d9686cd2ae Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Mon, 24 Jan 2022 10:40:26 -0500 Subject: [PATCH] Switch to Python 3.7 as minimal version. --- .circleci/config.yml | 12 ++++++------ .github/workflows/ci.yml | 7 +++---- Makefile | 4 ++-- misc/python3/Makefile | 4 ++-- setup.py | 5 ++--- tox.ini | 5 ++--- 6 files changed, 17 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2fc8e88e7..d55b80469 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,8 +49,8 @@ workflows: - "pypy27-buster": {} - # Just one Python 3.6 configuration while the port is in-progress. - - "python36": + # Test against Python 3: + - "python37": {} # Other assorted tasks and configurations @@ -118,7 +118,7 @@ workflows: <<: *DOCKERHUB_CONTEXT - "build-image-pypy27-buster": <<: *DOCKERHUB_CONTEXT - - "build-image-python36-ubuntu": + - "build-image-python37-ubuntu": <<: *DOCKERHUB_CONTEXT @@ -379,7 +379,7 @@ jobs: user: "nobody" - python36: + python37: <<: *UBUNTU_18_04 docker: - <<: *DOCKERHUB_AUTH @@ -392,7 +392,7 @@ jobs: # this reporter on Python 3. So drop that and just specify the # reporter. TAHOE_LAFS_TRIAL_ARGS: "--reporter=subunitv2-file" - TAHOE_LAFS_TOX_ENVIRONMENT: "py36" + TAHOE_LAFS_TOX_ENVIRONMENT: "py37" ubuntu-20-04: @@ -577,7 +577,7 @@ jobs: PYTHON_VERSION: "2.7" - build-image-python36-ubuntu: + build-image-python37-ubuntu: <<: *BUILD_IMAGE environment: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8209108bf..5ae70a3bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,12 +39,11 @@ jobs: - ubuntu-latest python-version: - 2.7 - - 3.6 - 3.7 - 3.8 - 3.9 include: - # On macOS don't bother with 3.6-3.8, just to get faster builds. + # On macOS don't bother with 3.7-3.8, just to get faster builds. - os: macos-10.15 python-version: 2.7 - os: macos-latest @@ -181,10 +180,10 @@ jobs: - ubuntu-latest python-version: - 2.7 - - 3.6 + - 3.7 - 3.9 include: - # On macOS don't bother with 3.6, just to get faster builds. + # On macOS don't bother with 3.7, just to get faster builds. - os: macos-10.15 python-version: 2.7 - os: macos-latest diff --git a/Makefile b/Makefile index 5d8bf18ba..33a40df02 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ test: .tox/create-venvs.log # Run codechecks first since it takes the least time to report issues early. tox --develop -e codechecks # Run all the test environments in parallel to reduce run-time - tox --develop -p auto -e 'py27,py36,pypy27' + tox --develop -p auto -e 'py27,py37,pypy27' .PHONY: test-venv-coverage ## Run all tests with coverage collection and reporting. test-venv-coverage: @@ -51,7 +51,7 @@ test-venv-coverage: .PHONY: test-py3-all ## Run all tests under Python 3 test-py3-all: .tox/create-venvs.log - tox --develop -e py36 allmydata + tox --develop -e py37 allmydata # This is necessary only if you want to automatically produce a new # _version.py file from the current git history (without doing a build). diff --git a/misc/python3/Makefile b/misc/python3/Makefile index f0ef8b12a..43cb3e3ce 100644 --- a/misc/python3/Makefile +++ b/misc/python3/Makefile @@ -37,8 +37,8 @@ test-py3-all-diff: ../../.tox/make-test-py3-all.diff # `$ make .tox/make-test-py3-all.diff` $(foreach side,old new,../../.tox/make-test-py3-all-$(side).log): cd "../../" - tox --develop --notest -e py36-coverage - (make VIRTUAL_ENV=./.tox/py36-coverage TEST_SUITE=allmydata \ + tox --develop --notest -e py37-coverage + (make VIRTUAL_ENV=./.tox/py37-coverage TEST_SUITE=allmydata \ test-venv-coverage || true) | \ sed -E 's/\([0-9]+\.[0-9]{3} secs\)/(#.### secs)/' | \ tee "./misc/python3/$(@)" diff --git a/setup.py b/setup.py index 53057b808..9a1c76bd8 100644 --- a/setup.py +++ b/setup.py @@ -376,9 +376,8 @@ setup(name="tahoe-lafs", # also set in __init__.py package_dir = {'':'src'}, packages=find_packages('src') + ['allmydata.test.plugins'], classifiers=trove_classifiers, - # We support Python 2.7, and we're working on support for 3.6 (the - # highest version that PyPy currently supports). - python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", + # We support Python 2.7, and Python 3.7 or later. + python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", install_requires=install_requires, extras_require={ # Duplicate the Twisted pywin32 dependency here. See diff --git a/tox.ini b/tox.ini index 38cee1f9f..34d555aa7 100644 --- a/tox.ini +++ b/tox.ini @@ -8,7 +8,6 @@ [gh-actions] python = 2.7: py27-coverage,codechecks - 3.6: py36-coverage 3.7: py37-coverage,typechecks,codechecks3 3.8: py38-coverage 3.9: py39-coverage @@ -18,7 +17,7 @@ python = twisted = 1 [tox] -envlist = typechecks,codechecks,codechecks3,py{27,36,37,38,39}-{coverage},pypy27,pypy3,integration,integration3 +envlist = typechecks,codechecks,codechecks3,py{27,37,38,39}-{coverage},pypy27,pypy3,integration,integration3 minversion = 2.4 [testenv] @@ -51,7 +50,7 @@ deps = # suffering we're trying to avoid with the above pins. certifi # VCS hooks support - py36,!coverage: pre-commit + py37,!coverage: pre-commit # We add usedevelop=False because testing against a true installation gives # more useful results.