Add pypi-check tox env and fix README rst syntax

Add a new tox environment `pypi-check` that builds the source and wheel
distributions and validates them with `twine check --strict` and
`validate-pyproject`. This reproduces the upstream `test-release-openstack`
CI job locally so packaging issues can be caught before pushing.

Fix the two `.. TODO::` blocks in README.rst which are not valid
reStructuredText directives and cause `twine check` to fail with:

  long_description has syntax errors in markup and would not be
  rendered on PyPI. line 12: Error: Unknown directive type "TODO".

Replace them with standard RST comment blocks (`..`). Also fix a
typo: s/exampel/example/.

Generated-By: Claude-Code Sonnet 4.6
Change-Id: I4b857427f89b25fbc697d283c38bcd7c5d1417c3
Signed-off-by: Sean Mooney <work@seanmooney.info>
This commit is contained in:
Sean Mooney
2026-04-08 17:26:26 +01:00
parent 8010141218
commit 14f09957a9
2 changed files with 22 additions and 8 deletions
+5 -6
View File
@@ -9,9 +9,8 @@ grian-ui - telemetry visualization dashboard
* Bugs: https://bugs.launchpad.net/grian-ui
.. TODO::
move to contributor docs.
..
TODO: move to contributor docs.
Making Changes & Contributing
=============================
@@ -158,9 +157,9 @@ This local.conf expect the following file at /opt/stack/prometheus.yml ::
static_configs:
- targets: ["localhost:3000"]
.. TODO::
enable Grian-UI when we add any content.
and move the devstack exampel to the devstack plugin
..
TODO: enable Grian-UI when we add any content.
and move the devstack example to the devstack plugin
if you are running devstack on a remote vm you can forward the development server endpoint locally using the following command ::
+17 -2
View File
@@ -65,14 +65,14 @@ deps =
commands =
pre-commit run --all-files --show-diff-on-failure
[testenv:{unit,py3,py310,py311,py312,py313}]
[testenv:{unit,py3,py310,py311,py312,py313,py314}]
description =
Run granular unit tests without horizon.
set_env =
{[testenv]setenv}
DJANGO_SETTINGS_MODULE=grian_ui_tests.unit.settings
[testenv:functional{,-py310,-py311,-py312,-py313}]
[testenv:functional{,-py310,-py311,-py312,-py313,-py314}]
description =
Run higher level functional tests with horizon.
set_env =
@@ -125,6 +125,21 @@ deps =
commands =
./manage.py runserver
[testenv:pypi-check]
description =
Build the package and run twine and pyproject checks.
deps =
build
twine
validate-pyproject
allowlist_externals =
rm
commands =
rm -rf {toxinidir}/dist
python -m build --outdir {toxinidir}/dist {toxinidir}
twine check --strict {toxinidir}/dist/*
validate-pyproject {toxinidir}/pyproject.toml
[flake8]
# We only enable the hacking (H) and local checks (N)