-
Notifications
You must be signed in to change notification settings - Fork 8
Notes on Releasing Upstream, Midstream model‐registry
These are just some companion notes on the procedure currently used to release Upstream, Midstream model-registry.
At the time of writing, both repos are releasing from tags since there is no requirement for backporting. Eventually it should be switched to release from a branch (instead of tag).
Assuming:
odh git@github.com:opendatahub-io/model-registry.git (fetch)
odh git@github.com:opendatahub-io/model-registry.git (push)
origin git@github.com:<your username>/model-registry.git (fetch)
origin git@github.com:<your username>/model-registry.git (push)
upstream git@github.com:kubeflow/model-registry.git (fetch)
upstream git@github.com:kubeflow/model-registry.git (push)
and assuming local branch odh-main
tracks on odh
remote the main branch.
Prerequisites:
- on main branches, the version indicated by the pyproject.toml and metadadata of the Model Registry Python client is current (that is, is already valorized to the target release number).
- midstream ODH/model-registry main branch is aligned with upstream KF/model-registry main branch.
you can verify this by checking the latest commit on main from https://github.com/kubeflow/model-registry/commits/main/ is present in https://github.com/opendatahub-io/model-registry/commits/main/
git checkout main
git pull upstream main
Example for 0.2.9
, where Upstream no longer explicits the -alpha
suffix (see here).
- create the release branch upstream
git checkout -b release/v0.2.9
git push upstream release/v0.2.9
this creates the release branch upstream.
Create a PR to update what's needed on the release branch, i.e. the manifest images.
git checkout -b tarilabs-20241005-upstreamSync
pushd manifests/kustomize/base && kustomize edit set image kubeflow/model-registry=kubeflow/model-registry:v0.2.9 && popd
pushd manifests/kustomize/options/csi && kustomize edit set image kubeflow/model-registry-storage-initializer=kubeflow/model-registry-storage-initializer:v0.2.9 && popd
git add .
git commit -s
# using `git push origin`
# will give back convenient command on the screen for copy/paste:
git push --set-upstream origin tarilabs-20241005-upstreamSync
-
create PR
⚠️ targeting the release branch⚠️ specifically -
merge the PR
-
optional. if you create the tag from local git (see point below); await GHA complete that push Container images to docker.io or any other KF registry: https://github.com/kubeflow/model-registry/actions
-
create the Release from GitHub,
⚠️ select the release branch⚠️ , input the new tag
(in this example the tag is created from GitHub; alternatively, you could just do the tag manually by checking out the release branch locally--remember to pull!!--and issuing the tag from local machine). Encouraging in upstream to mark it as a non-production release (in the github screen). Encouraging to use the "alpha" version policy of KF in the beginning of the release markdown (see previous pre-releases). -
before creating locally the release branch for midstream, you'll need to remove the previously created local branch
git branch -D release/v0.2.9
- create the release branch midstream
git checkout odh-main
git pull odh main
git checkout -b release/v0.2.9
git push odh release/v0.2.9
this creates the release branch Midstream.
Create a PR to update what's needed on the release branch, i.e. the manifest images (although, these are not used in Midstream)
git checkout -b tarilabs-20241005-release-odh
pushd manifests/kustomize/base && kustomize edit set image kubeflow/model-registry=quay.io/opendatahub/model-registry:v0.2.9 && popd
pushd manifests/kustomize/options/csi && kustomize edit set image kubeflow/model-registry-storage-initializer=quay.io/opendatahub/model-registry-storage-initializer:v0.2.9 && popd
git add .
git commit -s
# using `git push origin`
# will give back convenient command on the screen for copy/paste:
git push --set-upstream origin tarilabs-20241005-release-odh
-
create PR
⚠️ targetingopendatahub-io
organization and the release branch⚠️ specifically -
merge the PR
-
optional. if you create the tag from local git (see point below); await GHA complete that push Container images to docker.io or any other KF registry: https://github.com/opendatahub-io/model-registry/actions
-
create the Release from GitHub,
⚠️ select the release branch⚠️ , input the new tag
(in this example the tag is created from GitHub; alternatively, you could just do the tag manually by checking out the release branch locally--remember to pull!!--and issuing the tag from local machine) -
release the MR Python client
git checkout release/v0.2.8
git pull odh release/v0.2.8
git tag py-v0.2.8a1
git push odh py-v0.2.8a1
At this point, Midstream is released, both the container image and the Python client on pypi.
Assuming:
origin git@github.com:<your username>/model-registry-operator.git (fetch)
origin git@github.com:<your username>/model-registry-operator.git (push)
upstream git@github.com:opendatahub-io/model-registry-operator.git (fetch)
upstream git@github.com:opendatahub-io/model-registry-operator.git (push)
- create release branch, example:
git checkout main
git pull upstream main
git checkout -b release/v0.2.3
git push upstream release/v0.2.3
-
create PR
⚠️ targeting the release branch⚠️ specifically you can follow this example: https://github.com/opendatahub-io/model-registry-operator/pull/116 -
merge the PR
-
create the Release from GitHub,
⚠️ select the release branch⚠️ , input the new tag (in this example the tag is created from GitHub; alternatively, you could just do the tag manually by checking out the release branch locally--remember to pull!!--and issuing the tag from local machine)
You can use this as example: https://github.com/opendatahub-io/opendatahub-community/issues/154#issuecomment-2226812326