-
Notifications
You must be signed in to change notification settings - Fork 66
Closed
Labels
kind/plan-taskkind - planning - taskkind - planning - task
Description
Certification
- I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.
Description
As we move forward with the maturation of the Kubeflow Notebooks 2.0 application - we need to surface publicly available container images to allow consumers the ability to install Kubeflow Notebooks 2.0 on their cluster without needing to manually build the container images themselves.
This task is specifically related to the creation of a GHA workflow to handle publishing of the controller container image whose source code resides at workspaces/controller on the notebooks-v2 branch of the kubeflow/notebooks repository.
Important characteristics of the solution:
on:triggers should be aligned/consistent with the testing workflows that exist in the codebase today- image is to be published to the
ghcr.iokubeflow/notebookscontainer registry - image name should be
workspaces-controller - default tagging strategy should mimic that which was originally present in
kubeflow/kubeflow- https://github.com/kubeflow/kubeflow/blob/master/components/example-notebook-servers/codeserver/Makefile#L15-L16
⚠️ However, please note we do NOT want to leverage thelatesttag in any of our automation
- https://github.com/kubeflow/kubeflow/blob/master/components/example-notebook-servers/codeserver/Makefile#L15-L16
- when code is merged from a release branch - the tag should reflect the value of the
releasing/version/VERSIONfile - container image should be be produced any time any change is delivered to the
workspaces/directory- i.e. even if a
workspaces/backendchange is merged from a PR - that should cause aworkspaces-controllercontainer image to be pushed
- i.e. even if a
Acceptance Criteria
- When code is merged into the
notebooks-v2branch from a PR that contains changes in theworkspaces/directory - a container image forworkspaces-controllerwith a sha-based tag should be published toghcr.io- example:
ghcr.io/kubeflow/notebooks/workspaces-controller:sha-3fa851ab3173942dbaa1a609468e7f9eadf5f4e4
- example:
- When publishing a container image for
workspaces-controller, and uncommitted changes are detected on the branch - a suffix of-dirtyshould be appended to the tag- example:
ghcr.io/kubeflow/notebooks/workspaces-controller:sha-3fa851ab3173942dbaa1a609468e7f9eadf5f4e4-dirty
- example:
- When publishing a container image from a release branch (
v*-branch) a container image forworkspaces-controllerwith a semantically versioned tag should be published toghcr.io- example:
ghcr.io/kubeflow/notebooks/workspaces-controller:v2.0.0- value of the tag should be read from
releasing/version/VERSION
- value of the tag should be read from
- example:
Metadata
Metadata
Assignees
Labels
kind/plan-taskkind - planning - taskkind - planning - task
Type
Projects
Status
Done