From 5e3bf9940da253c9427391b41e1a21ee609ddbdb Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Tue, 7 Jan 2025 15:31:18 +0000 Subject: [PATCH] Drop support for Python 3.6 Python 3.6 reached its upstream EOL in September 2021, and was last included in CentOS Stream 8 and Ubuntu 18.04 LTS (Bionic) which are also both well past their EOL. This allows us to do some cleanup in how bindep is packaged, since PEP 517 and its successors weren't really well supported until versions of tools that have themselves dropped support for 3.6. Retain testing on ubuntu-bionic nodes for now, since there's non-default Python 3.7 packaged on them, as the only platform we presently have which meets that requirement for our new lower bound. Change-Id: I0945465b63e4a8654c735786b3e3cf794c763741 --- .zuul.yaml | 11 ++--------- noxfile.py | 18 +++--------------- pyproject.toml | 3 +-- .../notes/drop-py36-c2684ca4e7ac758f.yaml | 3 +++ setup.cfg | 11 +---------- 5 files changed, 10 insertions(+), 36 deletions(-) create mode 100644 releasenotes/notes/drop-py36-c2684ca4e7ac758f.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 6d0b516..efc784a 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -15,11 +15,6 @@ parent: bindep-base nodeset: centos-9-stream -- job: - name: bindep-ubuntu-bionic - parent: bindep-base - nodeset: ubuntu-bionic - - job: name: bindep-ubuntu-noble parent: bindep-base @@ -33,11 +28,10 @@ check: jobs: - bindep-centos-9-stream - - bindep-ubuntu-bionic - bindep-ubuntu-noble - build-python-release - nox-linters - - nox-py36: + - nox-py37: nodeset: ubuntu-bionic - nox-py312: nodeset: ubuntu-noble @@ -45,11 +39,10 @@ gate: jobs: - bindep-centos-9-stream - - bindep-ubuntu-bionic - bindep-ubuntu-noble - build-python-release - nox-linters - - nox-py36: + - nox-py37: nodeset: ubuntu-bionic - nox-py312: nodeset: ubuntu-noble diff --git a/noxfile.py b/noxfile.py index 6252ab0..24f82c0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -32,11 +32,7 @@ def docs(session): def venv(session): session.install("-r", "requirements.txt") session.install("-r", "test-requirements.txt") - # TODO: clean this conditional up once Python 3.6 support is dropped - if session.python == "3.6": - session.install(".") - else: - session.install("-e", ".") + session.install("-e", ".") session.run(*session.posargs) @@ -45,11 +41,7 @@ def venv(session): def tests(session): session.install("-r", "requirements.txt") session.install("-r", "test-requirements.txt") - # TODO: clean this conditional up once Python 3.6 support is dropped - if session.python == "3.6": - session.install(".") - else: - session.install("-e", ".") + session.install("-e", ".") session.run("stestr", "run", *session.posargs) session.run("stestr", "slowest") @@ -58,11 +50,7 @@ def tests(session): def cover(session): session.install("-r", "requirements.txt") session.install("-r", "test-requirements.txt") - # TODO: clean this conditional up once Python 3.6 support is dropped - if session.python == "3.6": - session.install(".") - else: - session.install("-e", ".") + session.install("-e", ".") session.env["PYTHON"] = "coverage run --source bindep --parallel-mode" session.run("stestr", "run", *session.posargs) session.run("stestr", "slowest") diff --git a/pyproject.toml b/pyproject.toml index 1aabfab..ad63864 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,6 @@ classifiers = [ "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", @@ -48,7 +47,7 @@ maintainers = [ ] name = "bindep" readme = {charset = "UTF-8", content-type = "text/x-rst", file = "README.rst"} -requires-python = ">=3.6" +requires-python = ">=3.7" [project.scripts] bindep = "bindep.__main__:main" diff --git a/releasenotes/notes/drop-py36-c2684ca4e7ac758f.yaml b/releasenotes/notes/drop-py36-c2684ca4e7ac758f.yaml new file mode 100644 index 0000000..b6688e4 --- /dev/null +++ b/releasenotes/notes/drop-py36-c2684ca4e7ac758f.yaml @@ -0,0 +1,3 @@ +--- +upgrade: + - Python 3.6 is no longer supported. diff --git a/setup.cfg b/setup.cfg index 4910217..d964fde 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,12 +1,3 @@ -# TODO: Drop this section once PBR can read project names from pyproject.toml +# TODO: Delete this file once PBR can read project names from pyproject.toml [metadata] name = bindep - -# TODO: Drop this section once we no longer support Python 3.6 -[options] -py_modules = bindep - -# TODO: Drop this section once we no longer support Python 3.6 -[entry_points] -console_scripts = - bindep = bindep.__main__:main