Skip to content

Latest commit

 

History

History
21 lines (18 loc) · 1.96 KB

File metadata and controls

21 lines (18 loc) · 1.96 KB

Inherit from a community maintained image

This repo is an example of using repo2docker-action to build a user image for your JupyterHub inheriting from a community maintained image and adding some packages to it. In this case, we inherit from the jupyter/scipy-notebook image, and add the packages listed in environment.yml to it.

Features

  1. Inherits from a specific tagged version of the jupyter/scipy-notebook, whole image can be upgraded by changing the FROM tag in Dockerfile
  2. All modifications happen in environment.yml file, which is not container specific. Regular users can use this too.
  3. Users can test out their image interactively by making a PR, which will automatically create a comment with a link to mybinder.org, which will build the image exactly the same way our action does. This allows users to contribute packages and changes to this repo without needing docker installed locally. See example PR
  4. On making PRs, a GitHub action builds the image to make sure it can be built. This catches issues with syntax errors and missing versions.
  5. Tests inside the image-tests/ directory are also run on each PR, allowing for more fine-grained tests - either as pytest tests or as jupyter notebooks that must reproduce exactly. This helps catch issues with version upgrades breaking your instructional code. The tests are invoked as part of the jupyterhub/repo2docker action. See here for more details.
  6. When a PR is merged, the image is built and pushed to quay.io