Missing functionality
Currently, the release process (to GitHub and PyPi) is done manually, it's prone to errors, and the two scripts used work best in happy-path use-case scenarios while edge-case even though less to worry about are not taken care of, as well as they could have been.
The release to PyPi should be fail-safe as there is no way to revert if a mistake is made.
Proposed feature
Automate the process and checks and balances:
Provide tangible steps or CLI commands when suggesting solutions for the above steps. Also, add messages to suggest next steps for the two scripts when it finishes executing.
Alternatives considered
Manual intervention: perform all the above steps manually using the above checklist as the release process is a highly infrequent process.
Also, libraries like bumpversion could be taken into consideration, depending on how useful and flexible they are.
Missing functionality
Currently, the release process (to GitHub and PyPi) is done manually, it's prone to errors, and the two scripts used work best in happy-path use-case scenarios while edge-case even though less to worry about are not taken care of, as well as they could have been.
The release to PyPi should be fail-safe as there is no way to revert if a mistake is made.
Proposed feature
Automate the process and checks and balances:
CHANGELOG.md- if the
__version__is the same, let the user know it needs to be entered before proceeding- otherwise, mention the presence and proceed
gitrepo (releases/tags) and warn accordingly__version__is the same, let the user know it needs to be incremented before proceedingpypiand warn accordingly__version__is the same, let the user know it needs to be incremented before proceeding- [x] by running
GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh- [ ] add to
./release-to-github.shpypirelease script if they REALLY wish to proceed- [ ] when running
./release-to-pypi.sh- [x] by running
GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.shProvide tangible steps or CLI commands when suggesting solutions for the above steps. Also, add messages to suggest next steps for the two scripts when it finishes executing.
Alternatives considered
Manual intervention: perform all the above steps manually using the above checklist as the release process is a highly infrequent process.
Also, libraries like bumpversion could be taken into consideration, depending on how useful and flexible they are.