Skip to content

Remove support for Python 3.8/3.9 and Ubuntu 20.04#3365

Merged
ipspace merged 6 commits into
devfrom
rip-ubuntu-2004
May 14, 2026
Merged

Remove support for Python 3.8/3.9 and Ubuntu 20.04#3365
ipspace merged 6 commits into
devfrom
rip-ubuntu-2004

Conversation

@ipspace
Copy link
Copy Markdown
Owner

@ipspace ipspace commented May 9, 2026

  • Remove Python 3.8/3.9 from package setup and CI/CD pipelines
    (that will make netlab uninstallable on most Ubuntu 20.04 hosts)
  • The lowest Python version that needs to be tested is 3.10
  • Remove all references to Ubuntu 20.04

Other cleanup:

  • Reword 'box building caveats' documentation
  • Use a specific Python version in ruff CI/CD action
  • Use a consistent Python version in all CI/CD actions that specify one

* Remove Python 3.8/3.9 from package setup and CI/CD pipelines
* The lowest Python version that needs to be tested is 3.10
* Remove all references to Ubuntu 20.04

Other cleanup:
* Reword 'box building caveats' documentation
* Use a specific Python version in ruff CI/CD action
* Use a consistent Python version in all CI/CD actions that specify one
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates netlab’s supported platform baseline by dropping Python 3.8/3.9 and removing Ubuntu 20.04 references across packaging metadata, CI workflows, and installation documentation.

Changes:

  • Update CI matrices and tooling workflows to test from Python 3.10+ (and pin ruff/yamllint workflows to a specific Python version).
  • Remove Python 3.8/3.9 from package classifiers and update docs/install guidance accordingly.
  • Remove Ubuntu 20.04 mentions from install scripts/docs and reword libvirt box-building caveats.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
setup.py Removes 3.8/3.9 classifiers (but still needs min-version enforcement updates).
netsim/install/install.yml Updates “tested on” distro text to drop Ubuntu 20.04 references.
docs/netlab/install.md Updates Ubuntu testing footnote text (but footnote id still implies 20.04).
docs/labs/libvirt-box-caveats.md Rewords caveats and removes Ubuntu 20.04 mention.
docs/install.md Updates stated minimum Python version in docs (but breaks footnote reference).
.github/workflows/t-yamllint.yml Pins yamllint workflow to a newer Python version.
.github/workflows/t-push.yml Updates push-test Python matrix to start at 3.10.
.github/workflows/t-pull.yml Updates PR-test Python matrix to start at 3.10.
.github/workflows/ruff.yml Pins ruff workflow to a specific Python version.
Comments suppressed due to low confidence (1)

setup.py:34

  • The PR removes 3.8/3.9 classifiers, but setup.py still declares Python 3.8+ support via the runtime guard (sys.version_info < (3, 8)), the error message, and python_requires='>=3.8'; this makes packaging metadata inconsistent with the new minimum (3.10) and would still allow installs on 3.8/3.9. Update the version guard and python_requires to >=3.10 (and align any related setup files, e.g., legacy/setup.py, if they’re still published).
  classifiers=[
    "Topic :: Utilities",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",

Comment thread docs/install.md Outdated
Comment thread docs/netlab/install.md
@ipspace ipspace force-pushed the rip-ubuntu-2004 branch from 68e576e to b96ebb2 Compare May 9, 2026 15:17
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.

Comment thread legacy/setup.py
Comment thread .github/workflows/t-yamllint.yml Outdated
Comment thread docs/install.md
@ipspace ipspace mentioned this pull request May 14, 2026
Comment thread .github/workflows/t-pull.yml Outdated
python-version: [ "3.8", "3.12", "3.13", "3.14" ]
python-version: [ "3.10", "3.12", "3.13", "3.14" ]
steps:
- uses: actions/checkout@v4
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v6 is the latest

Comment thread .github/workflows/t-yamllint.yml Outdated
@@ -17,7 +17,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v6 is the latest

Comment thread docs/install/linux.md Outdated
At the moment, _netlab_ does not work with Ansible release 12.x. Install the latest Ansible 11.x release.
```
* Install Python 3.10 or later (use the latest Python version supported by your Linux distribution)
* Install Ansible 2.9.1 or later and any Ansible networking dependencies (example: paramiko). We recommend using the latest Ansible 11.x release.
Copy link
Copy Markdown
Collaborator

@jbemmel jbemmel May 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should recommend using netlab to install ansible, which would install the recommended version. The order should be:

  1. Python
  2. Netlab
  3. All other dependencies through Netlab

Copy link
Copy Markdown
Owner Author

@ipspace ipspace May 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you notice that this is the "non-Ubuntu Linux install" document? I will mention that "netlab install ansible" might work; all other scripts are Debian/Ubuntu specific.

Copy link
Copy Markdown
Collaborator

@jbemmel jbemmel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest to update our GitHub workflow actions as well, and generally recommend using Netlab to install or update recommended versions of dependencies

@ipspace
Copy link
Copy Markdown
Owner Author

ipspace commented May 14, 2026

Suggest to update our GitHub workflow actions as well

That's not exactly relevant to the topic of this PR, but OK

and generally recommend using Netlab to install or update recommended versions of dependencies

That is definitely recommended for Ubuntu installs.

@ipspace ipspace merged commit 757d046 into dev May 14, 2026
6 checks passed
@ipspace ipspace deleted the rip-ubuntu-2004 branch May 14, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants