[FEATURE] Automate library release process to GitHub and PyPi #49
Labels
2. medium-priority
Good if it can be attended to be soon, but not urgent enough
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
Release
Projects
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
git
repo (releases/tags) and warn accordingly__version__
is the same, let the user know it needs to be incremented before proceedingpypi
and 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.sh
pypi
release script if they REALLY wish to proceed- [ ] when running
./release-to-pypi.sh
- [x] by running
GITHUB_TOKEN=$MY_GITHUB_TOKEN ./release-to-github.sh
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.
The text was updated successfully, but these errors were encountered: