Maintainer Playbook
Contents
Maintainer Playbook#
Merging Pull Requests#
To build new images and publish them to the Docker Hub registry, do the following:
Make sure GitHub Actions status checks pass for the PR.
Merge the PR.
Monitor the merge commit GitHub Actions status.
Note
We think GitHub Actions are quite reliable, so please, investigate if some error occurs. Building Docker images in PRs is exactly the same after merging to master, except there is an additional
push
step.Try to avoid merging another PR to master until all pending builds are complete. This way, you will know which commit might have broken the build and also have correct tags for moving tags (like
python
version).
Updating the Ubuntu Base Image#
minimal-notebook
is based on the Latest LTS Ubuntu docker image.
Other images are directly or indirectly inherited from minimal-notebook
.
We rebuild our images automatically each week, which means they frequently receive the updates.
When there’s a security fix in the Ubuntu base image, it’s a good idea to manually trigger images rebuild from the GitHub actions workflow UI.
Pushing the Run Workflow
button will trigger this process.
Adding a New Core Image to Docker Hub#
Note
In general, we do not add new core images and ask contributors to either create a recipe or community stack.
When there’s a new stack definition, do the following before merging the PR with the new stack:
Ensure the PR includes an update to the stack overview diagram in the documentation. The image links to the blockdiag source used to create it.
Ensure the PR updates the Makefile, which is used to build the stacks in order on GitHub Actions.
Ensure necessary tags / manifests are added for the new image in the tagging folder.
Create a new repository in the
jupyter
org on Docker Hub named after the stack folder in the git repo.Grant the
stacks
team permission to write to the repo.
Adding a New Maintainer Account#
Add the maintainer’s Docker Hub username.
Visit https://github.com/orgs/jupyter/teams/docker-image-maintainers/members
Add the maintainer’s GitHub username.
Pushing a Build Manually#
If automated build in GitHub Actions has got you down, do the following to push a build manually:
Clone this repository.
Check out the git SHA you want to build and publish.
docker login
with your Docker Hub credentials.Run
make push-all
.