From c8d63e87e4efbd2d7382081ba86af64b81cdd25e Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Sun, 4 Oct 2026 00:43:45 +0200 Subject: [PATCH 1/2] 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", From 70fc5f704357a8f7ef79c535013ce9e670a2095a Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Sun, 4 Oct 2026 01:14:24 +0200 Subject: [PATCH 2/2] ci: upload-artifact@v3, the version Gitea supports With the install fixed, the tests ran and passed on 3.10-3.12, and the job then failed at the last step: upload-artifact@v4 refuses to run on Gitea (GHESNotSupportedError). --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0bb620d..a7bc4d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,8 @@ jobs: python -m build - name: Upload dist artifacts - uses: actions/upload-artifact@v4 + # v4 refuses to run on Gitea ("not currently supported on GHES"). + uses: actions/upload-artifact@v3 with: name: dist-${{ matrix.python-version }} path: dist/* \ No newline at end of file