chore: drop python 3.6 for cibuildwheel driver

This drops python 3.6 for cibuildwheel.
Building python 3.6 packages is still supported.
This commit is contained in:
mayeut
2022-07-19 07:47:20 +02:00
parent afb4329fe3
commit bc17f103f1
15 changed files with 34 additions and 64 deletions
+5 -5
View File
@@ -1,7 +1,7 @@
version: 2 version: 2
jobs: jobs:
osx-python3.6: osx-python3.9:
macos: macos:
xcode: 12.5.1 xcode: 12.5.1
environment: environment:
@@ -17,9 +17,9 @@ jobs:
command: venv/bin/python ./bin/run_tests.py command: venv/bin/python ./bin/run_tests.py
no_output_timeout: 30m no_output_timeout: 30m
linux-python3.6: linux-python3.9:
docker: docker:
- image: circleci/python:3.6 - image: circleci/python:3.9
environment: environment:
PYTHON: python3 PYTHON: python3
# Temporarily restrict the tests that are run on CircleCI to prevent # Temporarily restrict the tests that are run on CircleCI to prevent
@@ -41,5 +41,5 @@ workflows:
version: 2 version: 2
all-tests: all-tests:
jobs: jobs:
- osx-python3.6 - osx-python3.9
- linux-python3.6 - linux-python3.9
+3 -14
View File
@@ -17,12 +17,6 @@ repos:
rev: v2.37.1 rev: v2.37.1
hooks: hooks:
- id: pyupgrade - id: pyupgrade
name: PyUpgrade 3.6+
args: ["--py36-plus"]
exclude: ^bin/
- id: pyupgrade
name: PyUpgrade 3.7+ on bin
exclude: ^(cibuildwheel|unit_test|test)/
args: ["--py37-plus"] args: ["--py37-plus"]
# Autoremoves unused imports # Autoremoves unused imports
@@ -52,9 +46,9 @@ repos:
rev: v0.961 rev: v0.961
hooks: hooks:
- id: mypy - id: mypy
name: mypy 3.6 on cibuildwheel/ name: mypy 3.7 on cibuildwheel/
exclude: ^(bin|cibuildwheel/resources|docs)/.*py$ exclude: ^cibuildwheel/resources/.*py$
args: ["--python-version=3.6"] args: ["--python-version=3.7"]
additional_dependencies: &mypy-dependencies additional_dependencies: &mypy-dependencies
- nox - nox
- packaging>=21.0 - packaging>=21.0
@@ -70,11 +64,6 @@ repos:
- types-requests - types-requests
- bracex - bracex
- dataclasses - dataclasses
- id: mypy
name: mypy 3.7+ on bin/
files: ^((bin|docs)/.*py)$
args: ["--python-version=3.7"]
additional_dependencies: *mypy-dependencies
- id: mypy - id: mypy
name: mypy 3.10 name: mypy 3.10
args: ["--python-version=3.10"] args: ["--python-version=3.10"]
+11 -11
View File
@@ -8,21 +8,21 @@ branches:
jobs: jobs:
include: include:
- name: Linux | x86_64 + i686 | Python 3.6 - name: Linux | x86_64 + i686 | Python 3.7
python: 3.6 python: 3.7
services: docker services: docker
env: PYTHON=python env: PYTHON=python
- name: Linux | arm64 | Python 3.6 - name: Linux | arm64 | Python 3.7
python: 3.6 python: 3.7
services: docker services: docker
arch: arm64-graviton2 arch: arm64-graviton2
group: edge group: edge
virt: vm virt: vm
env: PYTHON=python env: PYTHON=python
- name: Linux | ppc64le | Python 3.6 - name: Linux | ppc64le | Python 3.7
python: 3.6 python: 3.7
services: docker services: docker
arch: ppc64le arch: ppc64le
allow_failure: True allow_failure: True
@@ -32,18 +32,18 @@ jobs:
# c.f. https://travis-ci.community/t/running-out-of-disk-space-quota-when-using-docker-on-ppc64le/11634 # c.f. https://travis-ci.community/t/running-out-of-disk-space-quota-when-using-docker-on-ppc64le/11634
- PYTEST_ADDOPTS='-k "not test_manylinuxXXXX_only"' - PYTEST_ADDOPTS='-k "not test_manylinuxXXXX_only"'
- name: Windows | x86_64 | Python 3.6 - name: Windows | x86_64 | Python 3.7
os: windows os: windows
language: shell language: shell
before_install: before_install:
- choco upgrade python3 -y --version 3.6.8 --limit-output - choco upgrade python3 -y --version 3.7.9 --limit-output
# Update root certificates to fix SSL error; see http://www.chawn.com/RootCerts.htm # Update root certificates to fix SSL error; see http://www.chawn.com/RootCerts.htm
- powershell "md C:\temp\certs; CertUtil -generateSSTFromWU C:\temp\certs\RootStore.sst; Get-ChildItem -Path C:\\temp\certs\Rootstore.sst | Import-Certificate -CertStoreLocation Cert:\\LocalMachine\\Root\\ | out-null" - powershell "md C:\temp\certs; CertUtil -generateSSTFromWU C:\temp\certs\RootStore.sst; Get-ChildItem -Path C:\\temp\certs\Rootstore.sst | Import-Certificate -CertStoreLocation Cert:\\LocalMachine\\Root\\ | out-null"
env: env:
- PYTHON=C:\\Python36\\python - PYTHON=C:\\Python37\\python
- name: Linux | s390x | Python 3.6 - name: Linux | s390x | Python 3.7
python: 3.6 python: 3.7
services: docker services: docker
arch: s390x arch: s390x
env: PYTHON=python env: PYTHON=python
+6 -6
View File
@@ -1,11 +1,11 @@
This is a summary of the Python versions and platforms covered by the different CI platforms: This is a summary of the Python versions and platforms covered by the different CI platforms:
| | 3.6 | 3.7 | 3.8 | | | 3.7 | 3.8 | 3.9 | 3.10 |
|----------|------------------------------|-----------------------------|------------------| |----------|-----------------------|---------------------------|----------|----------------|
| Linux | Travis CI / CircleCI | AppVeyor¹ / GitHub Actions | Azure Pipelines | | Linux | AppVeyor¹ / Travis CI | Azure Pipelines / GitLab | CircleCI | GitHub Actions |
| macOS | CircleCI | AppVeyor¹ / GitHub Actions | Azure Pipelines | | macOS | AppVeyor¹ / Travis CI | Azure Pipelines | CircleCI | GitHub Actions |
| Windows | Travis CI / Azure Pipelines | AppVeyor¹ / GitHub Actions | Azure Pipelines | | Windows | AppVeyor¹ / Travis CI | Azure Pipelines | | GitHub Actions |
> ¹ AppVeyor only runs the "basic" test to reduce load. > ¹ AppVeyor only runs the "basic" test to reduce load.
Non-x86 architectures are covered on Travis CI using Python 3.6. Non-x86 architectures are covered on Travis CI using Python 3.7.
-11
View File
@@ -20,17 +20,6 @@ jobs:
python -m pip install -e ".[dev]" pytest-azurepipelines python -m pip install -e ".[dev]" pytest-azurepipelines
python ./bin/run_tests.py python ./bin/run_tests.py
- job: windows_36
pool: {vmImage: 'windows-2019'}
timeoutInMinutes: 180
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6'
- bash: |
python -m pip install -e ".[dev]" pytest-azurepipelines
python ./bin/run_tests.py
- job: windows_38 - job: windows_38
pool: {vmImage: 'windows-2019'} pool: {vmImage: 'windows-2019'}
timeoutInMinutes: 180 timeoutInMinutes: 180
-1
View File
@@ -1,5 +1,4 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# This file supports 3.6+
import os import os
import shutil import shutil
+1 -3
View File
@@ -9,9 +9,7 @@ EnvironmentExecutor = Callable[[List[str], Dict[str, str]], str]
def local_environment_executor(command: List[str], env: Dict[str, str]) -> str: def local_environment_executor(command: List[str], env: Dict[str, str]) -> str:
return subprocess.run( return subprocess.run(command, env=env, text=True, stdout=subprocess.PIPE, check=True).stdout
command, env=env, universal_newlines=True, stdout=subprocess.PIPE, check=True
).stdout
@dataclass(frozen=True) @dataclass(frozen=True)
-2
View File
@@ -94,7 +94,6 @@ This has been moved to using docker, so you only need the following instructions
The dependency update script in the next section requires multiple python versions installed. One way to do this is to use `pyenv`: The dependency update script in the next section requires multiple python versions installed. One way to do this is to use `pyenv`:
```bash ```bash
pyenv install 3.6.11
pyenv install 3.7.8 pyenv install 3.7.8
# Optionally add 3.8 and make it the local version; # Optionally add 3.8 and make it the local version;
# otherwise assuming 3.8+ already is your current python version # otherwise assuming 3.8+ already is your current python version
@@ -103,7 +102,6 @@ pyenv install 3.7.8
Then, you need to make the required virtual environments: Then, you need to make the required virtual environments:
```bash ```bash
$(pyenv prefix 3.6.11)/bin/python -m venv env36
$(pyenv prefix 3.7.8)/bin/python -m venv env37 $(pyenv prefix 3.7.8)/bin/python -m venv env37
``` ```
+1 -1
View File
@@ -4,7 +4,7 @@ jobs:
linux-wheels: linux-wheels:
working_directory: ~/linux-wheels working_directory: ~/linux-wheels
docker: docker:
- image: circleci/python:3.6 - image: circleci/python:3.9
steps: steps:
- checkout - checkout
- setup_remote_docker - setup_remote_docker
-1
View File
@@ -9,7 +9,6 @@ os: linux
dist: focal dist: focal
language: python language: python
python: python:
- 3.6
- 3.7 - 3.7
- 3.8 - 3.8
+2 -2
View File
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
[tool.black] [tool.black]
line-length = 100 line-length = 100
target-version = ['py36', 'py37', 'py38', 'py39', 'py310'] target-version = ['py37', 'py38', 'py39', 'py310']
[tool.isort] [tool.isort]
@@ -88,7 +88,7 @@ ignore = [
] ]
[tool.pylint] [tool.pylint]
master.py-version = "3.6" master.py-version = "3.7"
master.jobs = "0" master.jobs = "0"
master.fail-on = ["E", "F"] master.fail-on = ["E", "F"]
master.fail-under = "9.8" master.fail-under = "9.8"
+1 -3
View File
@@ -16,7 +16,6 @@ classifiers =
Natural Language :: English Natural Language :: English
Programming Language :: Python :: 3 Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.9
@@ -37,10 +36,9 @@ install_requires =
filelock filelock
packaging>=20.9 packaging>=20.9
platformdirs platformdirs
dataclasses;python_version < '3.7'
tomli;python_version < '3.11' tomli;python_version < '3.11'
typing-extensions>=3.10.0.0;python_version < '3.8' typing-extensions>=3.10.0.0;python_version < '3.8'
python_requires = >=3.6 python_requires = >=3.7
include_package_data = True include_package_data = True
zip_safe = False zip_safe = False
+1 -1
View File
@@ -17,7 +17,7 @@ ALL_MACOS_WHEELS = {
def get_xcode_version() -> Tuple[int, int]: def get_xcode_version() -> Tuple[int, int]:
output = subprocess.run( output = subprocess.run(
["xcodebuild", "-version"], ["xcodebuild", "-version"],
universal_newlines=True, text=True,
check=True, check=True,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
).stdout ).stdout
+1 -1
View File
@@ -35,7 +35,7 @@ def cibuildwheel_get_build_identifiers(project_path, env=None, *, prerelease_pyt
cmd_output = subprocess.run( cmd_output = subprocess.run(
cmd, cmd,
universal_newlines=True, text=True,
env=env, env=env,
check=True, check=True,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
+2 -2
View File
@@ -83,7 +83,7 @@ def test_container_removed(container_engine):
shell=True, shell=True,
check=True, check=True,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
universal_newlines=True, text=True,
).stdout ).stdout
assert container.name is not None assert container.name is not None
assert container.name in docker_containers_listing assert container.name in docker_containers_listing
@@ -94,7 +94,7 @@ def test_container_removed(container_engine):
shell=True, shell=True,
check=True, check=True,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
universal_newlines=True, text=True,
).stdout ).stdout
assert old_container_name not in docker_containers_listing assert old_container_name not in docker_containers_listing