CI: Add tox publish environment 44/71544/1
authorAndrew Grimberg <agrimberg@linuxfoundation.org>
Wed, 12 Apr 2023 16:59:57 +0000 (09:59 -0700)
committerAndrew Grimberg <agrimberg@linuxfoundation.org>
Wed, 12 Apr 2023 16:59:57 +0000 (09:59 -0700)
Issue: RELENG-4563
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
Change-Id: I5a7158668f3418dbba2d09d71c0d32adbc17ddfe

tox.ini

diff --git a/tox.ini b/tox.ini
index 7985935..47dc9be 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -99,6 +99,26 @@ commands =
         git config --global --unset user.email; \
         rm -f .git/REMOVE_USEREMAIL; fi"
 
+
+[testenv:publish]
+description =
+    Publish the package you have been developing to a package index server.
+    By default, it uses testpypi. If you really want to publish your package
+    to be publicly accessible in PyPI, use the `-- --repository pypi` option.
+skip_install = True
+changedir = {toxinidir}
+passenv =
+    # See: https://twine.readthedocs.io/en/latest/
+    TWINE_USERNAME
+    TWINE_PASSWORD
+    TWINE_REPOSITORY
+    TWINE_REPOSITORY_URL
+deps = twine
+commands =
+    python -m twine check dist/*
+    python -m twine upload {posargs:--repository {env:TWINE_REPOSITORY:testpypi}} dist/*
+
+
 [testenv:reno]
 description = OpenStack Reno checks
 basepython = python3