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
@@ -21,19 +21,30 @@ This document defines the process for releasing llm-d-router.
21
21
22
22
1. Permissions to push to the llm-d-router repository.
23
23
24
-
1. Set the required environment variables based on the expected release number:
24
+
1. Membership in the `@llm-d/router-release-managers` team. Tag protection on
25
+
`refs/tags/v*` restricts who can push release tags, which is what triggers
26
+
the release build.
25
27
26
-
```shell
27
-
export MAJOR=0
28
-
export MINOR=1
29
-
export PATCH=0
30
-
export REMOTE=origin
31
-
```
28
+
1. Choose whether you are releasing a release candidate or an official release, and set the environment variables accordingly:
29
+
30
+
- For a **Release Candidate** (e.g. `v0.9.0-rc.1`):
31
+
```shell
32
+
export VERSION=v0.9.0-rc.1
33
+
export BRANCH_VERSION=0.9
34
+
export REMOTE=origin
35
+
```
36
+
37
+
- For an **Official Release** (e.g. `v0.9.0`):
38
+
```shell
39
+
export VERSION=v0.9.0
40
+
export BRANCH_VERSION=0.9
41
+
export REMOTE=origin
42
+
```
32
43
33
-
1. If creating a release candidate, set the release candidate number.
44
+
1. (Optional) If the latency predictor release version does **not** align with the router version, also set the expected tag (refer to the [latency predictor releases] to find the latest valid release tag):
34
45
35
46
```shell
36
-
exportRC=1
47
+
exportLATENCY_PREDICTOR_TAG=v0.8.0-rc.1
37
48
```
38
49
1. If needed, clone the llm-d-router [repo].
39
50
@@ -45,89 +56,110 @@ This document defines the process for releasing llm-d-router.
45
56
46
57
### Create or Checkout branch
47
58
48
-
1. If you already have the repo cloned, ensure it’s up-to-date and your local branch is clean.
59
+
1. If you already have the repo cloned, ensure it's up-to-date and your local branch is clean.
49
60
50
61
1. Release Branch Handling:
51
62
- For a Release Candidate:
52
-
Create a new release branch from the `main` branch. The branch should be named `release-${MAJOR}.${MINOR}`, for example, `release-0.1`:
63
+
Create a new release branch from the `main` branch. The branch should be named `release-${BRANCH_VERSION}`, for example, `release-0.9`:
53
64
54
65
```shell
55
-
git checkout -b release-${MAJOR}.${MINOR}
66
+
git checkout -b release-${BRANCH_VERSION}
56
67
```
57
68
58
69
- For a Major, Minor or Patch Release:
59
70
A release branch should already exist. In this case, check out the existing branch:
1. Push your release branch to the llm-d-router remote.
66
-
67
-
```shell
68
-
git push ${REMOTE} release-${MAJOR}.${MINOR}
69
-
```
70
-
71
-
### Tag commit and trigger image build
72
-
73
-
1. Tag the head of your release branch with the sem-ver release version.
74
-
75
-
For a release candidate:
76
+
1. By default, `LATENCY_PREDICTOR_TAG` in the `Makefile` resolves from the router release tag (via `BUILD_REF`). If the latency predictor tag does **not** align with the router version, update the default value of `LATENCY_PREDICTOR_TAG` in the `Makefile` to match your exported `${LATENCY_PREDICTOR_TAG}`.
77
+
Commit the change (if modified):
76
78
77
79
```shell
78
-
git tag -s -a v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} -m 'llm-d-router v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} Release Candidate'
80
+
# Update LATENCY_PREDICTOR_TAG ?= vX.Y.Z in Makefile
81
+
git commit -a -s -m "release: set LATENCY_PREDICTOR_TAG to ${LATENCY_PREDICTOR_TAG}"
79
82
```
80
83
81
-
For a major, minor or patch release:
84
+
1. Push your release branch to the llm-d-router remote.
82
85
83
86
```shell
84
-
git tag -s -a v${MAJOR}.${MINOR}.${PATCH} -m 'llm-d-router v${MAJOR}.${MINOR}.${PATCH} Release'
87
+
git push ${REMOTE} release-${BRANCH_VERSION}
85
88
```
86
89
87
-
1. Push the tag to the llm-d-router repo.
90
+
### Tag commit and trigger image build
88
91
89
-
For a release candidate:
92
+
1. Tag the head of your release branch with the version:
git tag -s -a ${VERSION} -m "llm-d-router ${VERSION} Release"
96
+
```
94
97
95
-
For a major, minor or patch release:
98
+
1. Push the tag to the llm-d-router repo:
96
99
97
-
```shell
98
-
git push ${REMOTE}v${MAJOR}.${MINOR}.${PATCH}
99
-
```
100
+
```shell
101
+
git push ${REMOTE} ${VERSION}
102
+
```
100
103
101
-
1. Pushing the tag triggers CI action to build and publish the [EPP image] and [sidecar image] to the [ghcr registry].
102
-
1. Test the steps in the tagged quickstart guide after the PR merges. TODO add e2e tests!<!-- link to an e2e tests once we have such one -->
104
+
1. Pushing the tag triggers CI action to build and publish the EPP image (`ghcr.io/llm-d/llm-d-router-endpoint-picker`) and sidecar image (`ghcr.io/llm-d/llm-d-router-disagg-sidecar`) to the [ghcr registry].
105
+
1. Verify the [CI release workflow] completed successfully before proceeding.
106
+
1. Test the steps in the tagged quickstart guide after the PR merges.
103
107
104
108
### Create the release!
105
109
106
110
1. Create a [new release]:
107
111
1. Choose the tag that you created for the release.
108
-
1. Use the tag as the release title, i.e. `v0.1.0` refer to previous release for the content of the release body.
109
-
1. Click "Generate release notes" and preview the release body.
110
-
1. Go to Gateway Inference Extension latest release and make sure to include the highlights in llm-d-router as well.
112
+
1. Use the tag as the release title, e.g. `v0.1.0`.
113
+
1. Click "Generate release notes" to auto-populate the list of PRs and contributors.
114
+
1. Summarize the release notes using an LLM of your choice (e.g., Gemini, Copilot, ChatGPT). Provide the newly compiled release notes block from `RELEASE-NOTES.md` (or the unreleased fragments in `release-notes.d/unreleased/`) with the following prompt:
115
+
116
+
```text
117
+
Please summarize these release notes into three clear sections:
Review the generated content, edit it if necessary to ensure accuracy, and then copy and prepend this summary at the very top of the release description box on GitHub.
111
124
1. If this is a release candidate, select the "This is a pre-release" checkbox.
112
125
1. If you find any bugs in this process, create an [issue].
113
126
114
127
## Announce the Release
115
128
116
129
Use the following steps to announce the release.
117
130
118
-
1. Send an announcement email to `llm-d-contributors@googlegroups.com` with the subject:
131
+
1. Generate the announcement email content by running the following block in your terminal (make sure `${VERSION}` is set in your current shell):
119
132
120
133
```shell
121
-
[ANNOUNCE] llm-d-router v${MAJOR}.${MINOR}.${PATCH} is released
134
+
cat <<EOF
135
+
Subject: [ANNOUNCE] llm-d-router ${VERSION} is released
136
+
137
+
Hi all,
138
+
139
+
We are pleased to announce the release of llm-d-router ${VERSION}!
0 commit comments