From c8d63e87e4efbd2d7382081ba86af64b81cdd25e Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Sun, 4 Oct 2026 00:43:45 +0200 Subject: [PATCH] ci: install napalm-device-types from git, so the tests run at all Every CI run died at "pip install -e .[dev]": pyproject.toml asks for napalm_device_types, which lives in git.netork.io/NAPALM rather than on PyPI, and pip found only an unrelated 0.1.0 there. Not one test had run in CI. The workflow now installs napalm-device-types from git first. The matrix drops 3.8/3.9 and requires-python says >=3.10, because napalm-device-types itself needs 3.10 -- the package never installed on anything older. Replayed in a fresh venv: napalm-device-types 2.0.0 from git, then the package with its dev extras, tests green. --- .github/workflows/ci.yml | 5 ++++- pyproject.toml | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2207b4c..0bb620d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] steps: - name: Checkout uses: actions/checkout@v4 @@ -26,6 +26,9 @@ jobs: - name: Install package with dev extras run: | python -m pip install --upgrade pip + # napalm-device-types lives in git.netork.io/NAPALM, not on PyPI: without this + # pip looks there, finds an unrelated 0.1.0 and the job dies before any test. + python -m pip install "napalm-device-types @ git+https://git.netork.io/NAPALM/napalm-device-types.git" python -m pip install -e ".[dev]" - name: Run unit tests diff --git a/pyproject.toml b/pyproject.toml index dfd351c..4e4aff6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ version = "0.1.0" description = "NAPALM driver for OPNsense (read-only via REST API)." readme = "README.md" license = { text = "Apache-2.0" } -requires-python = ">=3.9" +requires-python = ">=3.10" authors = [ { name = "Christian Manivong" }, ] @@ -16,7 +16,6 @@ classifiers = [ "Topic :: Utilities", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",