Add initial Python package support for NetBox, including wheel and sdist
builds, generated package metadata, and Test PyPI publishing for maintainer
validation.
Add package-aware CLI support, `netbox setup` scaffolding for instance-local
files, and centralized wheel-vs-checkout path handling while preserving the
existing source/archive install layout.
Bundle pre-rendered embedded documentation in the wheel, and extend CI to
verify dependency pins, wheel metadata, artifact contents, CLI behavior, sdist
rebuilds, and smoke-test upgrades.
Copy frontend-generated files into STATIC_ROOT before tests run so SVG
rendering tests can read their CSS directly.
Also add pull-requests read permission to the workflow.
Fixes#22150
Restrict the CI workflow's push trigger to the main and feature branches
while preserving the existing paths-ignore filters.
This avoids unnecessary push-triggered CI runs on topic branches without
changing pull request workflow behavior.
Fixes#19324
Configure coverage.py for multiprocessing so Django's parallel test
workers are included in the coverage data.
Move coverage source and report settings into pyproject.toml,
and combine per-process coverage data before generating the report.
Fixes#22118
Add explicit CI job names showing the Python and Node versions, with the
coverage job clearly marked in the GitHub Actions UI.
Run coverage only for the designated coverage matrix entry to avoid
redundant coverage collection and reporting across the full test matrix.
Also add the YAML document marker and clean up trailing whitespace.
Bump actions/create-github-app-token from v1 to v3.1.1 and
EndBug/add-and-commit from v9.1.4 to v10.0.0, both pinned to full commit
SHAs for improved supply chain security.
Fixes#21896
* Drop mkdocs from `requirements.txt` and add Zensical
* Replace mkdocs with Zensical in CI and pre-commit tasks
* Remove `.info` from the `docs/` build directory (obsolete)
* Update the legacy ReadTheDocs configuration
* Update upgrade script to use Zensical
* Remove custom docs footer
* Remove obsolete CSS
Pin GitHub Actions references to full commit SHAs instead of version
tags to reduce supply chain risk from tag retargeting.
Update actions/checkout to v6.0.2, actions/setup-python to v6.2.0,
actions/setup-node to v6.3.0, actions/stale to v10.2.0, and
dessant/lock-threads to v6.0.0.
Pin Ruff to v0.15.2 in CI and pre-commit to avoid breakages from
upstream releases. Run Ruff via astral-sh/ruff-action (pinned by SHA)
instead of installing Ruff via pip.
Document where Ruff is pinned and keep the release checklist/style guide
in sync.
Fixes#21472Fixes#21497