chore: adopt the NAPALM driver standard
driver / standard (pull_request) Successful in 54s
driver / lint (pull_request) Successful in 50s
driver / types (pull_request) Failing after 1m17s
driver / test (3.10) (pull_request) Successful in 1m43s
driver / test (3.11) (pull_request) Failing after 9m18s
driver / test (3.12) (pull_request) Failing after 1m20s
driver / test (3.13) (pull_request) Successful in 1m4s
driver / lowest (pull_request) Failing after 1m38s
driver / security (pull_request) Failing after 4m33s
driver / build (pull_request) Failing after 1m29s
CI / driver (pull_request) Failing after 24m6s
driver / publish (pull_request) Skipped

- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
  of NAPALM/driver-standard: conformance, ruff, strict mypy, tests on
  3.10-3.13 and at the lowest declared versions, bandit, pip-audit, build,
  and on a release tag the upload to PyPI.
- tests/quality_baseline.json records today's long and complex functions
  and the one file over 1000 lines; they may shrink, not grow.
- Coverage floor 95 % (measured 95.15 %).
- CHANGELOG.md starts here; project links point at git.netork.io; the
  license is the SPDX string PEP 639 wants.
This commit is contained in:
christianmanivong committed 2026-10-22 19:06:19 +02:00
1 parent b7350a9b2c
commit 0475184684
6 files changed
+99 -64

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
{
"coverage_floor": 95.0,
"function_complexity": {
"napalm_device_types/_ucd_metrics.py::build_if_metrics": 20,
"napalm_device_types/_ucd_metrics.py::collect_ucd_metrics": 17,
"napalm_device_types/host_firewall.py::_iptables_rule": 11,
"napalm_device_types/host_firewall.py::_module_match": 13,
"napalm_device_types/host_firewall.py::_module_options": 14,
"napalm_device_types/host_firewall.py::_nft_field": 15,
"napalm_device_types/host_firewall.py::_nft_match": 12,
"napalm_device_types/host_firewall.py::_nft_rule": 16,
"napalm_device_types/host_firewall.py::_parse_nft": 14,
"napalm_device_types/host_firewall.py::rule_text": 14,
"napalm_device_types/host_status.py::_reboot": 12,
"napalm_device_types/lag.py::add_lag_interfaces": 11,
"napalm_device_types/listening.py::parse_listening_sockets": 13,
"napalm_device_types/service_clusters.py::_patroni": 11,
"napalm_device_types/ssh_server.py::plan_ssh_hardening": 38,
"napalm_device_types/virtual_ips.py::_keepalived": 12
},
"function_lines": {
"napalm_device_types/_ucd_metrics.py::collect_ucd_metrics": 119,
"napalm_device_types/dhcp.py::DhcpServerMixin.diff_dhcp_reservations": 54,
"napalm_device_types/dhcp.py::DhcpServerMixin.diff_dhcp_subnets": 60,
"napalm_device_types/firewall_rules.py::FirewallRuleMixin.diff_firewall_rules": 56,
"napalm_device_types/hypervisor.py::HypervisorDriver.create_vm_from_cloud_init": 84,
"napalm_device_types/hypervisor.py::HypervisorDriver.get_vm_config": 77,
"napalm_device_types/ssh_server.py::OpenSshServerMixin.harden_ssh_server": 52,
"napalm_device_types/ssh_server.py::plan_ssh_hardening": 60,
"napalm_device_types/storage.py::StorageDriver.get_volumes": 52,
"napalm_device_types/switch.py::SwitchDriver.get_dot1x_ports": 51,
"napalm_device_types/switch.py::SwitchDriver.get_poe_status": 63
},
"mypy_relaxed": [],
"python_file_lines": {
"napalm_device_types/models.py": 1504
},
"untyped_public": []
}