Make script for releasing
releasing the software should be done automatically, and should include:
- check if the repo is clean and ready to release
- bump the version of the software (minor or patch, according to the command call)
- commit setup.cfg and setup.py with the commit message
release vXXX
, where XXX is the new version - create a tag with the name 'vXXX'
- push content and tags
- run
make release
to push to pypi
Example:
pipenv run release patch
Personally, I'd like to prevent accidentally releasing a version by running a command twice. This could be prevented by skipping bumping the version automatically (step 2), or more difficultly by checking whether there are commits since the last version. What do you think?