Commit Graph
13 Commits
Author SHA1 Message Date
Christian Manivong 0f201e0f2d chore: Python 3.12 is the floor, part B (#6)
CI / test (3.12) (pull_request) Successful in 28s
CI / test (3.13) (pull_request) Successful in 26s
check now requires requires-python >= 3.12. Every standard driver moved
to that floor in its own PR, so none of them goes red with this.
2026-10-27 10:21:00 +01:00
christianmanivong c7d52864a0 Merge pull request 'chore: Python 3.12 is the floor, part A (#6)' (#7) from chore/python-312-floor into main
CI / test (3.12) (push) Failing after 3s
CI / test (3.13) (push) Successful in 34s
2026-10-27 09:19:52 +00:00
Christian Manivong 8cbcd20a3a chore: Python 3.12 is the floor, part A (#6)
CI / test (3.13) (pull_request) Successful in 30s
CI / test (3.12) (pull_request) Successful in 35s
The shared workflow tests on 3.12 and 3.13 by default and runs lowest on
3.12; the template declares requires-python >=3.12 with ruff and mypy on
3.12, and the tool itself needs 3.12. netOrk runs every driver on 3.12 in
its own containers.

check keeps accepting a 3.10 floor until every driver has moved; part B
raises it.
2026-10-27 10:10:15 +01:00
christianmanivong 7e03ad6ab3 Merge pull request 'fix(ci): twine upload --verbose --skip-existing' (#5) from fix/twine-verbose into main
CI / test (3.12) (push) Successful in 27s
CI / test (3.13) (push) Successful in 30s
CI / test (3.11) (push) Successful in 32s
2026-10-24 06:15:20 +00:00
christianmanivong 7ccf2d067b fix(ci): twine upload --verbose --skip-existing
CI / test (3.11) (pull_request) Successful in 34s
CI / test (3.12) (pull_request) Successful in 35s
CI / test (3.13) (pull_request) Successful in 36s
PyPI answered 429 to every first upload of a new project since the
afternoon of 2026-10-23; without --verbose the log does not say why or
for how long.
2026-10-24 08:14:38 +02:00
christianmanivong f108a0e817 Merge pull request 'fix(ratchet): refuse a package directory that does not exist' (#4) from fix/ratchet-missing-package into main
CI / test (3.11) (push) Successful in 26s
CI / test (3.12) (push) Successful in 24s
CI / test (3.13) (push) Successful in 24s
2026-10-23 09:21:18 +00:00
christianmanivong eb3a296aff fix(ratchet): refuse a package directory that does not exist
CI / test (3.11) (pull_request) Successful in 36s
CI / test (3.12) (pull_request) Successful in 32s
CI / test (3.13) (pull_request) Successful in 31s
napalm-hpe-aruba-procurve ships napalm_procurve; guessed from its name, the
ratchet measured nothing and wrote an empty baseline without a word.
2026-10-23 10:28:16 +02:00
christianmanivong 6f1789f14a Merge pull request 'fix(ci): longer download timeout and retries for pip and uv' (#3) from fix/pip-retries into main
CI / test (3.11) (push) Successful in 45s
CI / test (3.12) (push) Successful in 32s
CI / test (3.13) (push) Successful in 33s
2026-10-23 08:27:58 +00:00
christianmanivong 9390accb43 fix(ci): longer download timeout and retries for pip and uv
CI / test (3.11) (pull_request) Successful in 26s
CI / test (3.12) (pull_request) Successful in 25s
CI / test (3.13) (pull_request) Successful in 24s
Several jobs on the NAPALM runner failed on ReadTimeoutError from
files.pythonhosted.org on 2026-10-22, none of them on the code.
2026-10-23 08:31:32 +02:00
christianmanivong a4858e9a1f Merge pull request 'fix: pilot findings (pip-audit scope, SPDX license, E501 in tests)' (#1) from fix/pilot-findings into main
CI / test (3.11) (push) Successful in 3m31s
CI / test (3.12) (push) Successful in 22m15s
CI / test (3.13) (push) Successful in 1m15s
2026-10-22 19:10:47 +00:00
christianmanivong ba133d9de3 fix(ci): audit the package's dependencies, not the tool venv
CI / test (3.12) (pull_request) Successful in 28s
CI / test (3.13) (pull_request) Successful in 26s
CI / test (3.11) (pull_request) Successful in 2m31s
The device-types pilot failed pip-audit on pip 25.0.1 of the venv that also
held bandit and pip-audit. The package now goes into a venv of its own with
a current pip; its frozen set (URL installs left out) is what pip-audit
checks.
2026-10-22 19:14:55 +02:00
christianmanivong 0b21f62553 fix(check): SPDX license string; E501 off in tests (device-types pilot)
The pilot's build warned that setuptools refuses a license table and
License classifiers from 2027-02-18 (PEP 639); check now reports both and
the template builds with setuptools>=77. Recorded device output in tests
keeps its lines, so the template turns E501 off under tests/.
2026-10-22 19:08:06 +02:00
christianmanivong db6b2e4ea7 feat: standards, shared CI and release tooling for NAPALM drivers
CI / test (3.11) (push) Successful in 34s
CI / test (3.12) (push) Successful in 30s
CI / test (3.13) (push) Successful in 37s
STANDARDS.md binds every repository in the NAPALM org: one default branch,
Conventional Commits, the device-types contract, test-driven development,
clean-code limits, a quality ratchet for existing code, packaging rules and
releases by tag to PyPI.

napalm-standard holds what a tool can check: the conformance check (with
release rules on a tag), the quality ratchet (ported from netOrk's
quality_ratchet.py), and the Gitea release from the CHANGELOG section.
.gitea/workflows/driver.yml is the CI every driver calls; template/ is a new
driver's starting point and passes the check as it is.
2026-10-22 19:01:14 +02:00