pytest-jupyterhub
is a package available on PyPI.
These are the instructions on how to make a release.
- Push rights to this GitHub repository
-
Create a PR updating
docs/source/changelog.md
with github-activity and continue to step 2 only when its merged.Tips about getting the most out of github-activity (from jupyterhub/team-compass#563):
- Run
github-activity --heading-level=3
- Consider labelling PRs:
- Read the output of
github-activity
and look for PRs under the uncategorized heading that didn't have a label forgithub-activity
to sort it by. - If any non-bot authored PRs are found there, visit them and add a relevant label.
github-activity
can't sortci
labels automatically to go under a### Continuous integration
improvements heading, so these need ot handeled manually.
- Read the output of
- Cosider updating PR title:
- Read the output of
github-activity
and look for PRs with a title that can be improved, then update the title of the PR on GitHub.
- Read the output of
- Run
github-activity --heading-level=3
(again), copy and paste the output ofgithub-activity
to the changelog and refine it manually:- Decide a version increment.
- Bump major version if a breaking change is introduced If a major version bump is made, also write some summary manually before listing all the PRs.
- Bump minor version if an enhancement or new feature is added
- Bump patch version if only documentation and bugfixes etc are provided.
- Add a date to the release that seems likely to match when it can get merged
- Remove various pre-commit PRs and dependabot PRs that just bumps CI stuff.
- Remove various @welcome, @dependabot, and other bots from contributors lists etc
- Put ci labelled PRs manually under
### Continuous integration
improvements heading
- Decide a version increment.
- Make a commit with a message similar to "Add changelog for 1.2.3" and open a PR titled the same
- Await merge, then move on to step 2 described below
- Run
-
Checkout main and make sure it is up to date.
git checkout main git fetch origin main git reset --hard origin/main
-
Update the version, make commits, and push a git tag with
tbump
.pip install tbump
tbump
will ask for confirmation before doing anything.# Example versions to set: 1.0.0, 1.0.0b1 VERSION= tbump ${VERSION}
Following this, the CI system will build and publish a release.
-
Reset the version back to dev, e.g.
1.0.1.dev
after releasing1.0.0
.# Example version to set: 1.0.1.dev NEXT_VERSION= tbump --no-tag ${NEXT_VERSION}.dev