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
This commit is contained in:
Sorin Sbarnea 2018-10-26 14:33:55 +01:00
parent 30fe497de4
commit 489300d832
2 changed files with 14 additions and 1 deletions

View File

@ -19,3 +19,4 @@ testrepository>=0.0.18
testscenarios>=0.4
testtools>=1.4.0
twine
wheel

14
tox.ini
View File

@ -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