Start by making a release issue using the template below. The issue checklist can be followed to release a new version of the Helm chart and help everybody coordinate. Do some copy pasting!
This issue will be used to coordinate the next release of the Helm chart according to the instructions in RELEASE.md
. Below is a checklist for this release.
The JupyterHub Helm chart relies on many dependent projects, and when we make a release we should note major updates for these projects as well as the version that is specified in the Helm chart. Below are the more important dependencies. Put a check on those that reach a state good enough for a z2jh release to be cut.
Update JupyterHub's Python dependencies in images/hub/requirements.txt
by
following the instructions in images/hub/README.md
.
Also consider nudging dependent projects in the JupyterHub GitHub organization for a release.
These images version/tags are set in values.yaml, consider bumping the version of these as well.
- configurable-http-proxy
- Available image tags
- values.yaml entry:
proxy.chp.image
- traefik/traefik
- Available image tags
- values.yaml entry:
proxy.traefik.image
- kube-scheduler
- Available image tags
- values.yaml entry:
scheduling.userScheduler.image
- kubernetes/pause
- values.yaml entry:
prePuller.pause.image
- values.yaml entry:
Also the images we build are based on some image specified in the FROM
statement, consider if we want to bump those versions as well.
-
Update
docs/source/changelog.md
- Generate a list of PRs using executablebooks/github-activity
github-activity --output github-activity-output.md --since <last tag> jupyterhub/zero-to-jupyterhub-k8s
- Visit and label all uncategorized PRs appropriately with:
maintenance
,enhancement
,breaking
,bug
, ordocumentation
. - Generate a list of PRs again and add it to the changelog
- Highlight breaking changes
- Summarize the release changes
- Generate a list of PRs using executablebooks/github-activity
-
Tag a x.y.z-beta.1 release
- Create and push a git tag
This will automatically create a GitHub prerelease.
git checkout main git reset --hard <upstream>/main tbump x.y.z-beta.1
- Create and push a git tag
-
Announce the x.y.z-beta.1 release
- Write a discourse post
-
Update
docs/source/changelog.md
- Generate a list of merged PRs and a list of contributors and update the changelog.
github-activity --output github-activity-output.md --since <last tag> jupyterhub/zero-to-jupyterhub-k8s
- Link out to the downstream projects within the JupyterHub org to celebrate work done there as well.
- Generate a list of merged PRs and a list of contributors and update the changelog.
-
Release
-
Create and push a git tag.
git checkout main git reset --hard <upstream>/main tbump x.y.z
This will automatically create a GitHub release.
-
Set the next prerelease version (don't create a tag).
tbump --no-tag x.y.z+1-0.dev
-
-
Communicate
- Update the beta release's discourse post.