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 going to the folder and running ./dependencies freeze --upgrade
.
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
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
git checkout master git reset --hard <upstream>/master git tag -a x.y.z-beta.1 -m x.y.z-beta.1 <commit on master> git push --follow-tags <upstream> master
- Create and push a git tag
-
Announce the x.y.z-beta.1 release
- Write a discourse post
-
Update
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 master git reset --hard <upstream>/master git tag -a x.y.z -m x.y.z HEAD git push --follow-tags <upstream> master
-
Create a GitHub release. Visit the release page and create a new release referencing the recent tag. Add a brief text like the one below.
-
-
Communicate
- Update the beta release's discourse post.