Signed-off-by: John Snow <js...@redhat.com> --- Makefile | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
diff --git a/Makefile b/Makefile index 97d737a..81bfca8 100644 --- a/Makefile +++ b/Makefile @@ -110,3 +110,35 @@ distclean: clean rm -f .coverage .coverage.* rm -rf htmlcov/ rm -rf test-results/ + +.PHONY: pristine +pristine: + @git diff-files --quiet --ignore-submodules -- || \ + (echo "You have unstaged changes."; exit 1) + @git diff-index --cached --quiet HEAD --ignore-submodules -- || \ + (echo "Your index contains uncommitted changes."; exit 1) + @[ -z "$(shell git ls-files -o)" ] || \ + (echo "You have untracked files: $(shell git ls-files -o)"; exit 1) + +dist: setup.cfg setup.py Makefile README.rst + python3 -m build + @touch dist + +.PHONY: pre-publish +pre-publish: pristine dist + @git describe --exact-match 2>/dev/null || \ + (echo -e "\033[0;31mThere is no annotated tag for this commit.\033[0m"; exit 1) + python3 -m twine check --strict dist/* + git push -v --atomic --follow-tags --dry-run + +.PHONY: publish +publish: pre-publish + # Set the username via TWINE_USERNAME. + # Set the password via TWINE_PASSWORD. + # Set the pkg repository via TWINE_REPOSITORY. + python3 -m twine upload --verbose dist/* + git push -v --atomic --follow-tags + +.PHONY: publish-test +publish-test: pre-publish + python3 -m twine upload --verbose -r testpypi dist/* -- 2.31.1