-
Notifications
You must be signed in to change notification settings - Fork 182
Description
Introduction
This document defines the process for releasing Gateway API Inference Extension.
Prerequisites
-
Permissions to push to the Gateway API Inference Extension repository.
-
Set the required environment variables based on the expected release number:
export MAJOR=0 export MINOR=1 export PATCH=0 export REMOTE=origin
-
If creating a release candidate, set the release candidate number.
export RC=1
-
Refer to the release-quickstart script for the default image tags used
by the vLLM deployment manifests. If a newer GPU, CPU, or Simulator
tag has been published, set the appropriate environment variable or update the script. For example:export VLLM_GPU=0.8.5 export VLLM_CPU=0.9.3 export VLLM_SIM=0.3.0
Release Process
-
If needed, clone the Gateway API Inference Extension repo.
git clone -o ${REMOTE} https://github.com/kubernetes-sigs/gateway-api-inference-extension.git
-
If you already have the repo cloned, ensure it’s up-to-date and your local branch is clean.
-
Release Branch Handling:
-
For a Release Candidate:
Create a new release branch from themain
branch. The branch should be namedrelease-${MAJOR}.${MINOR}
, for example,release-0.1
:git checkout -b release-${MAJOR}.${MINOR}
-
For a Major, Minor or Patch Release:
A release branch should already exist. In this case, check out the existing branch:git checkout -b release-${MAJOR}.${MINOR} ${REMOTE}/release-${MAJOR}.${MINOR}
-
-
Update release-specific content, generate release artifacts, and stage the changes.
make release
-
Sign, commit, and push the changes to the Gateway API Inference Extension repo.
For a release candidate:
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} release"
For a major, minor or patch release:
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.${PATCH} release"
-
Push your release branch to the Gateway API Inference Extension remote.
git push ${REMOTE} release-${MAJOR}.${MINOR}
-
Tag the head of your release branch with the number.
For a release candidate:
git tag -s -a v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} -m 'Gateway API Inference Extension v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} Release Candidate'
For a major, minor or patch release:
git tag -s -a v${MAJOR}.${MINOR}.${PATCH} -m 'Gateway API Inference Extension v${MAJOR}.${MINOR}.${PATCH} Release'
Note: A PGP key must be registered to your GitHub account.
-
Push the tag to the Gateway API Inference Extension repo.
For a release candidate:
git push ${REMOTE} v${MAJOR}.${MINOR}.${PATCH}-rc.${RC}
For a major, minor or patch release:
git push ${REMOTE} v${MAJOR}.${MINOR}.${PATCH}
-
Pushing the tag triggers Prow to build and publish the container image to the staging registry.
-
Submit a PR against k8s.io to add the staging image tag and SHA to
k8s-staging-gateway-api-inference-extension/images.yaml
. This will
promote the image to the production registry, e.g.registry.k8s.io/gateway-api-inference-extension/epp:v${MAJOR}.${MINOR}.${PATCH}
.
Note: Add a link to this issue when the PR is merged. -
Test the steps in the tagged quickstart guide after the PR merges, for example:
https://github.com/kubernetes-sigs/gateway-api-inference-extension/blob/v0.1.0-rc.1/pkg/README.md
. -
Create a new release:
- Choose the tag that you created for the release.
- Use the tag as the release title, i.e.
v0.1.0
refer to previous release for the content of the release body. - Click "Generate release notes" and preview the release body.
- Click "Attach binaries by dropping them here or selecting them." and add the contents of the
artifacts
directory generated frommake release
. - If this is a release candidate, select the "This is a pre-release" checkbox.
-
If you find any bugs in this process, create an issue.
Announce the Release
Use the following steps to announce the release.
-
Send an announcement email to
[email protected]
and[email protected]
with the subject:[ANNOUNCE] Gateway API Inference Extension v${MAJOR}.${MINOR}.${PATCH} is released
-
Add a link to the release announcement in this issue.
Final Steps
- Update docs in the
main
branch. - Close this issue.