From 489300d83240224c8a2e4024232be0092f4c5afd Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Fri, 26 Oct 2018 14:33:55 +0100 Subject: [PATCH] Add pypi publishing testing Builds the source and wheel distribution as part of linting job to assure we can build the package. Adds packaging temp files to .gitignore to avoid poluting the repository. Adds a publish tox environment which can be used for manual publishing on pypi (exceptional cases). Change-Id: If9176b33cc13904a516d8e64d53170f52f2baf55 --- test-requirements.txt | 1 + tox.ini | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/test-requirements.txt b/test-requirements.txt index 4e69d738d..9c863fea2 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -19,3 +19,4 @@ testrepository>=0.0.18 testscenarios>=0.4 testtools>=1.4.0 twine +wheel diff --git a/tox.ini b/tox.ini index 8efdc2554..afd401277 100644 --- a/tox.ini +++ b/tox.ini @@ -10,11 +10,14 @@ setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt commands = python setup.py test +whitelist_externals = + bash + rm [testenv:linters] # py3 linters are able to stop more than py2 ones basepython = python3 -whitelist_externals = bash + extras = insights commands = {[testenv:pep8]commands} @@ -23,6 +26,7 @@ commands = pykwalify -d browbeat-complete.yaml -s browbeat/schema/browbeat.yml bash -c "set -e; for config in $(ls conf/); do \ echo conf/$config; pykwalify -d conf/$config -s browbeat/schema/browbeat.yml; done" + {[testenv:dist]commands} [testenv:dist] basepython = python3 @@ -74,6 +78,14 @@ commands = python setup.py build_sphinx basepython = python3 commands = oslo_debug_helper {posargs} +[testenv:publish] +envdir = {toxworkdir}/py27 +commands = + rm -rf dist/* + rm -rf build/* + python setup.py sdist bdist_wheel + twine upload dist/* + [flake8] # E123, E125 skipped as they are invalid PEP-8. show-source = True