From 1488b2416b0f0268a623dd4339109ce47b859c44 Mon Sep 17 00:00:00 2001 From: Chris Dent Date: Sun, 15 Oct 2023 14:09:48 +0100 Subject: [PATCH] Add a Makefile for simple automation Primarily this makes some aspects of doing a release more clean and clear. --- Makefile | 41 +++++++++++++++++++++++++++++++++++++++++ setup.py | 11 +++-------- 2 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..35c1929 --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ +# simple Makefile for some common tasks +.PHONY: clean test dist release pypi tagv + +paste-version := $(shell python setup.py --version) + +clean: + find . -name "*.pyc" |xargs rm || true + rm -r dist || true + rm -r build || true + rm -rf .tox || true + rm -r cover .coverage || true + rm -r .eggs || true + rm -r paste.egg-info || true + +tagv: + git tag -s -m ${paste-version} ${paste-version} + git push origin master --tags + +cleanagain: + find . -name "*.pyc" |xargs rm || true + rm -r dist || true + rm -r build || true + rm -r .tox || true + rm -r cover .coverage || true + rm -r .eggs || true + rm -r paste.egg-info || true + +test: + tox --skip-missing-interpreters + +dist: test + python3 setup.py sdist bdist_wheel + +release: clean test cleanagain tagv pypi gh + +pypi: + python3 setup.py sdist bdist_wheel + twine upload dist/* + +gh: + gh release create ${paste-version} --generate-notes dist/* diff --git a/setup.py b/setup.py index 4ef15fc..85564eb 100644 --- a/setup.py +++ b/setup.py @@ -1,16 +1,11 @@ # Procedure to release a new version: # -# - run tests: run tox # - update version in setup.py (__version__) -# - update tag_build in setup.cfg -# - check that "python setup.py sdist" contains all files tracked by -# the SCM (Mercurial): update MANIFEST.in if needed # - update changelog: docs/news.txt +# - commit and push to git +# - make release # -# - git commit -# - git tag -s VERSION -# - git push -# - python setup.py sdist bdist_wheel upload --sign +# The final step will release to pypi and to Github __version__ = '3.6.0'