Skip to content

Commit f5d7b75

Browse files
committed
Merge branch 'odh_release-0.3' into conflict_fix_0.3
Signed-off-by: Jooho Lee <[email protected]>
2 parents 7c97bc6 + 3a2d487 commit f5d7b75

File tree

80 files changed

+4404
-904
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+4404
-904
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Blank Issue
3+
about: Create a new issue from scratch
4+
title: ''
5+
labels: needs-triage
6+
assignees: ''
7+
8+
---
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug you encountered
4+
title: ''
5+
labels: kind/bug, needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!
11+
12+
-->
13+
14+
**What happened**:
15+
16+
**What you expected to happen**:
17+
18+
**How to reproduce it (as minimally and precisely as possible)**:
19+
20+
**Anything else we need to know?**:
21+
22+
**Environment**:
23+
- Kubernetes version (use `kubectl version`):
24+
- llm-d-scheduler version (use `git describe --tags --dirty --always` if you built from source, or specify the tag if you used a tagged version or image):
25+
- Cloud provider or hardware configuration:
26+
- Install tools:
27+
- Others:

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
<!-- Please only use this template for submitting enhancement requests -->
11+
12+
**What would you like to be added**:
13+
14+
**Why is this needed**:
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
name: New Release
3+
about: Propose a new release
4+
title: Release v0.x.0
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
- [Introduction](#introduction)
11+
- [Prerequisites](#prerequisites)
12+
- [Release Process](#release-process)
13+
- [Announce the Release](#announce-the-release)
14+
- [Final Steps](#final-steps)
15+
16+
## Introduction
17+
18+
This document defines the process for releasing llm-d-inference-scheduler.
19+
20+
## Prerequisites
21+
22+
1. Permissions to push to the llm-d-inference-scheduler repository.
23+
24+
2. Set the required environment variables based on the expected release number:
25+
26+
```shell
27+
export MAJOR=0
28+
export MINOR=1
29+
export PATCH=0
30+
export REMOTE=origin
31+
```
32+
33+
3. If creating a release candidate, set the release candidate number.
34+
35+
```shell
36+
export RC=1
37+
```
38+
39+
## Release Process
40+
41+
1. If needed, clone the llm-d-inference-scheduler [repo].
42+
43+
```shell
44+
git clone -o ${REMOTE} [email protected]:llm-d/llm-d-inference-scheduler.git
45+
```
46+
47+
2. If you already have the repo cloned, ensure it’s up-to-date and your local branch is clean.
48+
49+
3. Release Branch Handling:
50+
- For a Release Candidate:
51+
Create a new release branch from the `main` branch. The branch should be named `release-${MAJOR}.${MINOR}`, for example, `release-0.1`:
52+
53+
```shell
54+
git checkout -b release-${MAJOR}.${MINOR}
55+
```
56+
57+
- For a Major, Minor or Patch Release:
58+
A release branch should already exist. In this case, check out the existing branch:
59+
60+
```shell
61+
git checkout -b release-${MAJOR}.${MINOR} ${REMOTE}/release-${MAJOR}.${MINOR}
62+
```
63+
64+
4. Update release-specific content, generate release artifacts, and stage the changes.
65+
66+
5. Sign, commit, and push the changes to the `llm-d-inference-scheduler` repo.
67+
68+
For a release candidate:
69+
70+
```shell
71+
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} release"
72+
```
73+
74+
For a major, minor or patch release:
75+
76+
```shell
77+
git commit -s -m "Updates artifacts for v${MAJOR}.${MINOR}.${PATCH} release"
78+
```
79+
80+
6. Push your release branch to the llm-d-inference-scheduler remote.
81+
82+
```shell
83+
git push ${REMOTE} release-${MAJOR}.${MINOR}
84+
```
85+
86+
7. Tag the head of your release branch with the number.
87+
88+
For a release candidate:
89+
90+
```shell
91+
git tag -s -a v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} -m 'llm-d-inference-scheduler v${MAJOR}.${MINOR}.${PATCH}-rc.${RC} Release Candidate'
92+
```
93+
94+
For a major, minor or patch release:
95+
96+
```shell
97+
git tag -s -a v${MAJOR}.${MINOR}.${PATCH} -m 'llm-d-inference-scheduler v${MAJOR}.${MINOR}.${PATCH} Release'
98+
```
99+
100+
8. Push the tag to the llm-d-inference-scheduler repo.
101+
102+
For a release candidate:
103+
104+
```shell
105+
git push ${REMOTE} v${MAJOR}.${MINOR}.${PATCH}-rc.${RC}
106+
```
107+
108+
For a major, minor or patch release:
109+
110+
```shell
111+
git push ${REMOTE} v${MAJOR}.${MINOR}.${PATCH}
112+
```
113+
114+
9. Pushing the tag triggers CI action to build and publish the container image to the [ghcr registry].
115+
10. 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 -->
116+
11. Create a [new release]:
117+
1. Choose the tag that you created for the release.
118+
2. Use the tag as the release title, i.e. `v0.1.0` refer to previous release for the content of the release body.
119+
3. Click "Generate release notes" and preview the release body.
120+
4. Go to Gateway Inference Extension latest release and make sure to include the highlights in llm-d-inference-scheduler as well.
121+
5. If this is a release candidate, select the "This is a pre-release" checkbox.
122+
12. If you find any bugs in this process, create an [issue].
123+
124+
## Announce the Release
125+
126+
Use the following steps to announce the release.
127+
128+
1. Send an announcement email to `[email protected]` with the subject:
129+
130+
```shell
131+
[ANNOUNCE] llm-d-inference-scheduler v${MAJOR}.${MINOR}.${PATCH} is released
132+
```
133+
134+
2. Add a link to the final release in this issue.
135+
136+
3. Close this issue.
137+
138+
[repo]: https://github.com/llm-d/llm-d-inference-scheduler
139+
[ghcr registry]: https://github.com/llm-d/llm-d-inference-scheduler/pkgs/container/llm-d-inference-scheduler
140+
[new release]: https://github.com/llm-d/llm-d-inference-scheduler/releases/new
141+
[issue]: https://github.com/llm-d/llm-d-inference-scheduler/issues/new/choose

.github/actions/docker-build-and-push/action.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ inputs:
1313
registry:
1414
required: true
1515
description: Container registry (e.g., ghcr.io/llm-d)
16+
prerelease:
17+
required: true
18+
description: indicates whether or not this is a pre-release (not a release) build
1619
runs:
1720
using: "composite"
1821
steps:
@@ -32,9 +35,13 @@ runs:
3235

3336
- name: Build image and push
3437
run: |
38+
if [[ ${{ inputs.prerelease }} == "true" ]]; then
39+
LATEST_TAG=""
40+
else
41+
LATEST_TAG="-t ${{ inputs.registry }}/${{ inputs.image-name }}:latest"
42+
fi
3543
docker buildx build \
3644
--platform linux/amd64,linux/arm64 \
3745
-t ${{ inputs.registry }}/${{ inputs.image-name }}:${{ inputs.tag }} \
38-
-t ${{ inputs.registry }}/${{ inputs.image-name }}:latest \
39-
--push .
46+
${LATEST_TAG} --push .
4047
shell: bash

.github/dependabot.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ updates:
2929
schedule:
3030
interval: "weekly"
3131
labels:
32-
- "ci"
3332
- "dependencies"
33+
- "release-note-none"
3434
commit-message:
3535
prefix: "deps(actions)"
3636

@@ -41,6 +41,5 @@ updates:
4141
interval: "weekly"
4242
labels:
4343
- "dependencies"
44-
- "docker"
4544
commit-message:
4645
prefix: "deps(docker)"

.github/workflows/check-typos.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Check Typos
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
jobs:
8+
typos:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v5
14+
15+
- name: Check typos
16+
uses: crate-ci/[email protected]
17+

.github/workflows/ci-pr-checks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout source
14-
uses: actions/checkout@v4
14+
uses: actions/checkout@v5
1515

1616
- name: Sanity check repo contents
1717
run: ls -la

.github/workflows/ci-release.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout source
15-
uses: actions/checkout@v4
15+
uses: actions/checkout@v5
1616

1717
- name: Set project name from repository
1818
id: version
@@ -33,6 +33,8 @@ jobs:
3333
else
3434
echo "tag=latest" >> "$GITHUB_OUTPUT"
3535
fi
36+
PRE_RELEASE=${{ github.event_name != 'release' || github.event.release.prerelease }}
37+
echo "prerelease=${PRE_RELEASE}" >> "$GITHUB_OUTPUT"
3638
shell: bash
3739

3840
- name: Build and push image
@@ -42,6 +44,7 @@ jobs:
4244
image-name: ${{ steps.version.outputs.project_name }}
4345
registry: ghcr.io/llm-d
4446
github-token: ${{ secrets.GHCR_TOKEN }}
47+
prerelease: ${{ steps.tag.outputs.prerelease }}
4548

4649
- name: Run Trivy scan
4750
uses: ./.github/actions/trivy-scan

0 commit comments

Comments
 (0)