-
Notifications
You must be signed in to change notification settings - Fork 0
Release process
Timothy Brathwaite edited this page Nov 20, 2020
·
5 revisions
- Before making edits, open an issue describing the problem that one will be working on.
Use one issue per problem, and create multiple issues to represent multiple problems. - Open a feature branch to store one's edits to address the created issues.
Use the commandgit flow feature start <branch-name>
to open the branch. - Track one's edits with git commits.
- Once one is done with one's edits, open a pull request on Github to merge the branch's edits into
develop
. - Describe the pull request's edits in a
newsfragment
for towncrier.- Create the entry with
touch src/checkrs/newsfragment/<pull-request-id>.<fragment-type>
.
<fragment-type>
extension is as described here and the<pull-request-id>
is as shown on Github. - Edit the file to add the news-blurb-like description of the pull request's edits.
- Commit the newfragment to the repo, and push the changes to the remote repository.
- Create the entry with
- Once all tests have passed and the pull request is approved,
rungit flow feature finish --squash <branch-name>
to merge the branch and close the pull request. - Run
git push origin develop
to push the local merges to github. - Close the corresponding issue on github.
- Ensure you've finished merging all changes to the
develop
branch. - Preview the new version number with
bump2version --dry-run --verbose --current-version <current-version> patch src/checkrs/__init__.py
Note that the current version number can be viewed insrc/checkrs/__init__.py
- Create a release branch with
git flow release start <new-version>
- Push the release branch to Github's remote origin branch with
git flow release publish <new-version>
- View Changelog additions for the release with
towncrier --draft
- Make CHANGELOG edits by running
towncrier
at the command line. - Refine and commit the CHANGELOG edits.
- Now, actually bump the version using
bump2version --verbose --current-version <current-version> patch src/checkrs/__init__.py
- Open a pull request for the release. Point the branch at
stable
as the comparison branch. - On the
release/<new-version>
branch, runflit publish
at the command line. - After the package has been uploaded to PyPI, finish the release with
git flow release finish --squash <new-version>
git push origin --tags