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
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/new-release.md
+142-37
Original file line number
Diff line number
Diff line change
@@ -4,42 +4,147 @@ about: Propose a new release
4
4
title: Release v0.x.0
5
5
labels: ''
6
6
assignees: ''
7
-
8
7
---
9
8
10
-
## Release Checklist
11
-
-[ ] For major or minor releases (v$MAJ.$MIN.0), create a new release branch.
12
-
-[ ] A maintainer creates a vanilla release branch with
13
-
`git branch release-$MAJ.$MIN main`
14
-
-[ ] A maintainer pushes the new release branch with
15
-
`git push release-$MAJ.$MIN` (e.g., release-0.1)
16
-
-[ ] Update content and artifacts such as README, deployment templates, docs, configuration, test/e2e flags.
17
-
Submit a PR against the release branch.
18
-
-[ ] A maintainer [prepares a draft release](https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases)
19
-
-[ ] Write the change log into the draft release.
20
-
-[ ] Run
21
-
`make artifacts`
22
-
to generate the artifacts and upload the files in the `artifacts` folder to the draft release.
23
-
-[ ] A maintainer creates a signed tag running (e.g., VERSION=v0.1.0)
24
-
`git tag -s $VERSION`
25
-
and inserts the changelog into the tag description.
26
-
To perform this step, you need [a PGP key registered on github](https://docs.github.com/en/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys).
27
-
-[ ] A maintainer pushes the tag with
28
-
`git push $VERSION`
29
-
- Triggers prow to build and publish a staging container image
-[ ] Submit a PR against [k8s.io](https://github.com/kubernetes/k8s.io),
32
-
updating [`k8s-staging-gateway-api-inference-extension/images.yaml`](https://github.com/kubernetes/k8s.io/blob/main/registry.k8s.io/images/k8s-staging-gateway-api-inference-extension/images.yaml) to
33
-
promote the container images from staging to production. <!-- link to example PR once we have one -->
34
-
-[ ] Wait for the PR to be merged and verify that the image `registry.k8s.io/gateway-api-inference-extension/epp:$VERSION` is available.
35
-
-[ ] Publish the draft release prepared at the [Github releases page](https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases).
36
-
-[ ] Add a link to the tagged release in this issue: <!-- example https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases/tag/v0.1.0 -->
37
-
-[ ] Send an announcement email to `[email protected]` and `[email protected]` with the subject `[ANNOUNCE] Gateway API Inference Extension $VERSION is released`
38
-
-[ ] Add a link to the release announcement in this issue: <!-- link to an example email once we have one -->
39
-
-[ ] Update docs in `main` branch: <!-- link to example PR once we have one -->
40
-
-[ ] Close this issue
41
-
42
-
## Changelog
43
-
<!--
44
-
Describe changes since the last release here.
45
-
-->
9
+
-[Introduction](#introduction)
10
+
-[Prerequisites](#prerequisites)
11
+
-[Release Process](#release-process)
12
+
-[Announce the Release](#announce-the-release)
13
+
-[Final Steps](#final-steps)
14
+
15
+
## Introduction
16
+
17
+
This document defines the process for releasing Gateway API Inference Extension.
18
+
19
+
## Prerequisites
20
+
21
+
1. Permissions to push to the Gateway API Inference Extension repository.
22
+
23
+
2. Set the required environment variables based on the expected release number:
24
+
25
+
```shell
26
+
export MAJOR=0
27
+
export MINOR=1
28
+
export REMOTE=origin
29
+
```
30
+
31
+
3. If creating a release candidate, set the release candidate number.
32
+
33
+
```shell
34
+
export RC=1
35
+
```
36
+
37
+
4. The vLLM image tag defaults to `v0.7.1` for a release. Optionally, change the vLLM image tag. For example:
38
+
39
+
```shell
40
+
export VLLM=0.7.2
41
+
```
42
+
43
+
## Release Process
44
+
45
+
1. If needed, clone the Gateway API Inference Extension [repo][repo].
46
+
47
+
```shell
48
+
git clone https://github.com/kubernetes-sigs/gateway-api-inference-extension.git -b main
49
+
```
50
+
51
+
2. If you already have the repo cloned, ensure it’s up-to-date and your local branch is clean.
52
+
53
+
3. Create a new release branch from the `main` branch. The release branch should be named `release-v${MAJOR}.${MINOR}`, e.g. `release-v0.1`.
54
+
55
+
```shell
56
+
git checkout -b release-v${MAJOR}.${MINOR}
57
+
```
58
+
59
+
4. Update release-specific content, generate release artifacts, and stage the changes.
60
+
61
+
```shell
62
+
make release
63
+
```
64
+
65
+
5. Sign, commit, and push the changes to the Gateway API Inference Extension repo.
66
+
67
+
For a release candidate:
68
+
69
+
```shell
70
+
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.0-rc.${RC} release"
71
+
```
72
+
73
+
For a major or minor release:
74
+
75
+
```shell
76
+
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.0 release"
77
+
```
78
+
79
+
6. Push your release branch to the Gateway API Inference Extension remote.
80
+
81
+
```shell
82
+
git push ${REMOTE} release-v${MAJOR}.${MINOR}
83
+
```
84
+
85
+
7. Tag the head of your release branch with the number.
86
+
87
+
For a release candidate:
88
+
89
+
```shell
90
+
git tag -a v${MAJOR}.${MINOR}.0-rc.${RC} -m 'Gateway API Inference Extension v${MAJOR}.${MINOR}.0-rc.${RC} Release Candidate'
91
+
```
92
+
93
+
For a major or minor release:
94
+
95
+
```shell
96
+
git tag -a v${MAJOR}.${MINOR}.0 -m 'Gateway API Inference Extension v${MAJOR}.${MINOR}.0 Release'
97
+
```
98
+
99
+
**Note:** A PGP key must be [registered] to your GitHub account.
100
+
101
+
8. Push the tag to the Gateway API Inference Extension repo.
102
+
103
+
For a release candidate:
104
+
105
+
```shell
106
+
git push ${REMOTE} v${MAJOR}.${MINOR}.0-rc.${RC}
107
+
```
108
+
109
+
For a major or minor release:
110
+
111
+
```shell
112
+
git push ${REMOTE} v${MAJOR}.${MINOR}.0
113
+
```
114
+
115
+
9. Pushing the tag triggers Prow to build and publish the container image to the [staging registry][].
116
+
10. Submit a PR against [k8s.io][] to add the staging image tag and SHA to [`k8s-staging-gateway-api-inference-extension/images.yaml`][yaml]. This will
117
+
promote the image to the production registry. **Note:** Add a link to this issue when the PR is merged.
118
+
11. 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`.
119
+
12. Create a [new release][]:
120
+
1. Choose the tag that you created for the release.
121
+
2. Use the tag as the release title, i.e. `v0.1.0` refer to previous release for the content of the release body.
122
+
3. Click "Generate release notes" and preview the release body.
123
+
4. Click "Attach binaries by dropping them here or selecting them." and add the contents of the `artifacts` directory generated from `make release`.
124
+
5. If this is a release candidate, selectthe"This is a pre-release" checkbox.
125
+
13. If you find any bugs in this process, create an [issue][].
0 commit comments