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
This commit is contained in:
Jeremy Stanley 2025-01-07 15:31:18 +00:00
parent dfc1db8b6d
commit 5e3bf9940d
5 changed files with 10 additions and 36 deletions

View File

@ -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

View File

@ -32,10 +32,6 @@ 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.run(*session.posargs)
@ -45,10 +41,6 @@ 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.run("stestr", "run", *session.posargs)
session.run("stestr", "slowest")
@ -58,10 +50,6 @@ 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.env["PYTHON"] = "coverage run --source bindep --parallel-mode"
session.run("stestr", "run", *session.posargs)

View File

@ -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"

View File

@ -0,0 +1,3 @@
---
upgrade:
- Python 3.6 is no longer supported.

View File

@ -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