You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updates the go dependency to github.com/kserve/kserve in go.mod and run go mod tidy.
Update the CRDs under config/crd/bases with the CRDs from the kserve/kserve
repository (https://github.com/kserve/kserve/tree/master/config/crd) using their
latest pre-release version:
(and 4) In this modelmesh-serving repository, on the release-* branch, update the version tags, submit your PR to the release-* branch that was created earlier and wait for it to merge.
If you see Error: unknown flag: --load-restrictor upgrade your kustomize version to 4.x.
Generate config archive on the release-* branch. The scriptlet below automatically
determines the release version and chooses the version of the tar command for
either Linux or macOS. Verify the correct release VERSION was found.
VERSION=$( grep -o -E "newTag: .*$" config/manager/kustomization.yaml | sed 's/newTag: //')
TAR_FILE="config-${VERSION}.tar.gz"echo"Release: ${VERSION}"if$(tar --version | grep -q 'bsd');then
tar -zcvf ${TAR_FILE} -s /config/config-${VERSION}/ config/;else
tar -zcvf ${TAR_FILE} config/ --transform s/config/config-${VERSION}/;fi
Create a new tag on the release-* branch and push it to GitHub using the commands
below, or, create a new tag in the next step using the GitHub UI. The new kserve/modelmesh-controller image will be published via GitHub Actions.
git tag $VERSION
git push upstream $VERSIONecho https://github.com/kserve/modelmesh-serving/releases/new?tag=${VERSION}
Create the new release in the GitHub UI from the release-* branch (or from the
tag created in the previous step). Enter the release tag value (e.g. v0.11.0) in
the "Release title" field and upload the generated installation manifests ("Release assets")
in the "Attach binaries ..." section. Click the "Generate release notes" button which
will generate the release description.
Note, if you generated a pre-release (e.g. v0.11.0-rc0) then copy the release
notes from that and remove them from the pre-release description and revise accordingly.
Compare the release and release artifacts to those of previous releases to make
sure nothing was missed.
Once the release as been published (a new tag has been pushed), verify the check
results by clicking on the check mark (✓) next to the latest commit on the release-*
branch.
Verify that the newly released version of the modelmesh-controller
was pushed to DockerHub.
Update the KServe Helm Charts
Fork and clone the kserve/kserve repository
and update all references to the old ModelMesh versions. At the time of the v0.10.0
release the following files needed to be updated.
charts/kserve-resources/values.yaml
hack/install_kserve_mm.sh
Furthermore, the helm charts under charts/kserve-resources/templates which are
used to install ModelMesh as part of KServe need to be updated with the changes
in the respective manifests from the kserve/modelmesh-serving repository found
in the config folder.
For reference, for the v0.10.0 release the following charts in the kserve repo
had to be updated:
In the kserve/website repository, update all reference to the previous ModelMesh
release. As of v0.10.0, docs/admin/modelmesh.md was the only Markdown file to
be updated.
So, I think we can start testing with that and, later, do the final 0.12.0.
BTW, there is this pending PR for main: #502.
I was thinking... I'm not sure if we should upgrade the docs for an RC... If you prefer it, I can change the PR to point to docs of 0.12.0-rc0. But given this is considered a pre-release, I wonder if it would be better to change docs until 0.12.0 final is generated?
Release process reference: https://github.com/kserve/modelmesh-serving/blob/3e755a909cbdcbadb6fb86cbd48c83ae46e68f9a/docs/release-process.md
Release Process
Prepare the Release
Check pending vulnerability fixes, features and bugs:
modelmesh
modelmesh-minio-examples
modelmesh-runtime-adapter
modelmesh-serving
rest-proxy
In
modelmesh-serving
, create a PR againstmain
that:Updates the
go
dependency togithub.com/kserve/kserve
ingo.mod
and rungo mod tidy
.Update the CRDs under
config/crd/bases
with the CRDs from thekserve/kserve
repository (
https://github.com/kserve/kserve/tree/master/config/crd
) using theirlatest pre-release version:
config/crd/bases/serving.kserve.io_inferenceservices.yaml
config/crd/bases/serving.kserve.io_clusterservingruntimes.yaml
config/crd/bases/serving.kserve.io_servingruntimes.yaml
release: Update KServe to v0.12.0 #497
Create Release Branches
Create a release branch from
main
in the form ofrelease-${MAJOR}.${MINOR}
in these 5 repositories:modelmesh
modelmesh-minio-examples
modelmesh-runtime-adapter
modelmesh-serving
rest-proxy
Update Release Tags
Create new (pre-)release tags (
v...-rc0
) in these repositories:modelmesh
modelmesh-minio-examples
modelmesh-runtime-adapter
rest-proxy
Verify image tags were pushed to DockerHub:
(and 4) In this
modelmesh-serving
repository, on therelease-*
branch, update the version tags, submit your PR to therelease-*
branch that was created earlier and wait for it to merge.docs: Update version tags after v0.12.0 release #502
Generate Release Artifacts and Publish the Release
Generate the release manifests on the
release-*
branch:kustomize build config/runtimes --load-restrictor LoadRestrictionsNone > modelmesh-runtimes.yaml cp config/dependencies/quickstart.yaml modelmesh-quickstart-dependencies.yaml
If you see
Error: unknown flag: --load-restrictor
upgrade yourkustomize
version to 4.x.Generate config archive on the
release-*
branch. The scriptlet below automaticallydetermines the release version and chooses the version of the
tar
command foreither Linux or macOS. Verify the correct release
VERSION
was found.Create a new tag on the
release-*
branch and push it to GitHub using the commandsbelow, or, create a new tag in the next step using the GitHub UI. The new
kserve/modelmesh-controller
image will be published via GitHub Actions.Create the new release in the GitHub UI from the
release-*
branch (or from thetag created in the previous step). Enter the release tag value (e.g.
v0.11.0
) inthe "Release title" field and upload the generated installation manifests ("Release assets")
in the "Attach binaries ..." section. Click the "Generate release notes" button which
will generate the release description.
Note, if you generated a pre-release (e.g.
v0.11.0-rc0
) then copy the releasenotes from that and remove them from the pre-release description and revise accordingly.
https://github.com/kserve/modelmesh-serving/releases/new
Compare the release and release artifacts to those of previous releases to make
sure nothing was missed.
Once the release as been published (a new tag has been pushed), verify the check
results by clicking on the check mark (✓) next to the latest commit on the
release-*
branch.
Verify that the newly released version of the
modelmesh-controller
was pushed to DockerHub.
Update the KServe Helm Charts
Fork and clone the
kserve/kserve
repositoryand update all references to the old ModelMesh versions. At the time of the
v0.10.0
release the following files needed to be updated.
charts/kserve-resources/values.yaml
hack/install_kserve_mm.sh
Furthermore, the
helm
charts undercharts/kserve-resources/templates
which areused to install ModelMesh as part of KServe need to be updated with the changes
in the respective manifests from the
kserve/modelmesh-serving
repository foundin the
config
folder.For reference, for the
v0.10.0
release the following charts in thekserve
repohad to be updated:
charts/kserve-resources/templates/clusterrole.yaml
charts/kserve-resources/templates/clusterservingruntimes.yaml
charts/kserve-resources/templates/configmap.yaml
charts/kserve-resources/templates/deployment.yaml
For the
v0.9.0
release the following charts had to be updated:charts/kserve/crds/serving.kserve.io_predictor.yaml
charts/kserve/templates/clusterrole.yaml
charts/kserve/templates/configmap.yaml
charts/kserve/templates/deployment.yaml
charts/kserve/templates/networkpolicy.yaml
charts/kserve/templates/rolebinding.yaml
charts/kserve/templates/servingruntimes.yaml
Update the KServe Website
In the
kserve/website
repository, update all reference to the previous ModelMeshrelease. As of
v0.10.0
,docs/admin/modelmesh.md
was the only Markdown file tobe updated.
Release Blog
Work with Dan Sun on a joint
release blog.
For reference, here are a few examples of previous release blogs featuring ModelMesh:
And the corresponding PRs to illustrate the process and the participants:
The text was updated successfully, but these errors were encountered: