modelmesh-serving
modelmesh-serving copied to clipboard
Update Release Doc
Update the release doc to include instructions for the following:
- [ ] Cherry-picking when necessary
- [x] Updating FVT pre-pull image tags for version instead of latest see: https://github.com/kserve/modelmesh-serving/pull/406/commits/439b03a750bc99338b0b5623c158dc1a40c14d8c done in #414
Originally posted by @ckadner in https://github.com/kserve/modelmesh-serving/pull/406#issuecomment-1649496677
A few quick notes:
- set the the git committer to "GitHub" before doing any cherry-picking or re-basing:
export GIT_COMMITTER_NAME="GitHub" export GIT_COMMITTER_EMAIL="[email protected]"
- do cherry-pick any new commits from
main
onto therelease-*
when creating new release candidates (rc1, rc2, ...) on themodelmesh-serving
repo (only). Use the-x
option to append the commit messages with the line "(cherry picked from commit …)":git checkout release-0.11 git cherry-pick -x ..main git push
- for the other repos (
modelmesh
,modelmesh-runtime-adapter
, ...), if there are no divergent commits on therelease-*
branch, use git rebase from mastergit checkout release-0.11 git rebase main git push
- don't rebase the
release-*
branches after a...-rc0
tag had been created, it would remove the commit that was used for the previousrc
tag
We should also add a bit of text to describe the chicken-and-egg problem with kserve/kserve
requiring the new ModelMesh release before creating it's new release (https://github.com/kserve/kserve/pull/3059), but modelmesh-serving
depending on the new KServe release so that it can create a new release (https://github.com/kserve/modelmesh-serving/pull/413).
On the kserve/kserve
side, the requirement is for the tagged Docker images to be available. To get those ModelMesh images before ModelMesh creates a new tagged release, the existing RC images can be retagged, assuming there were no (major) code changes since the last release candidate.
old_tag="v0.11.0-rc1"
new_tag="v0.11.0"
images=(
modelmesh
modelmesh-controller
modelmesh-minio-dev-examples
modelmesh-minio-examples
modelmesh-runtime-adapter
rest-proxy
)
for img in ${images[*]}; do
# use `buildx imagetools` instead of `docker manifest` to maintain multi-arch manifests
docker buildx imagetools create \
"kserve/${img}:${old_tag}" --tag \
"kserve/${img}:${new_tag}";
done