Skip to content

cal-icor/cloudbank-etsu-image

 
 

Repository files navigation

cloudbank-etsu-image

Modifying the new image

The process to modify and push an image to the Google Artifact Registry via the CI/CD pipeline is located in the contribution guide

About this template repository

This template repository uses the jupyterhub/repo2docker-action to build a Docker image using the contents of this repo, and pushes it to our Google Artifact Registry when a pull request is merged to main.

The environment

The repo provides a default environment.yml conda configuration file for repo2docker to use to define and build a single-user server image. This file is used to define the python packages that will be installed during the image build process, either via conda or pip.

Note: A complete list of configuration files that can be added to the repository and used by repo2docker to build the Docker image can be found in the repo2docker documentation.

Making changes to a single user server image

Once you've created the new image repo from this template, please refer to the contribution instructions located in the repo for detailed instructions.

The GitHub Action workflows

This template repository provides GitHub Action workflows that can build and push the image to Google Artifact Repository when configured, and push a commit to the Cal-ICOR Jupyterhub repo repository that modifies hubploy.yaml for any hubs using this image with the new SHA tag.

1. Build and test container image ➡️ test.yaml

This workflow is triggered when a pull request is opened against the default branch (main). During PR builds, the image is only built and not pushed to the Google Artifact Registry.

Please note that the image will not be built for documentation changes (markdown files or any graphic images in the images/ subdirectory).

2. YAML linting ➡️ yaml-lint.yaml

This workflow is triggered when a pull request is opened against the default branch (main). It uses yamllint to check all yaml files in the repo for correctness.

3. Temporarily disabled: Test this PR on Binder Badge ➡️ binder.yaml

Since our images are typically large and take > 10m to build, this means that Binderhub builds will currently time out.

4. Build, test and push container image ➡️ build-push-open-pr.yaml

After a PR is merged to main, this workflow builds the image again, pushes it to the Google Artifact Registry and then creates a commit that updates the image tag for any hubs that use this image. That commit is then pushed to the Cal-ICOR Jupyterhub repo, and you will then need to manually create a pull requests to merge and deploy the new image.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 94.5%
  • R 3.3%
  • Python 1.3%
  • Shell 0.9%