Skip to content

Commit fd56eaa

Browse files
Merge branch 'vllm-project:main' into vllm-model
2 parents 8b8f3a0 + a82191a commit fd56eaa

File tree

75 files changed

+5383
-3764
lines changed

Some content is hidden

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

75 files changed

+5383
-3764
lines changed

.github/CODEOWNERS

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# See https://help.github.com/articles/about-codeowners/
2+
# for more info about CODEOWNERS file
3+
4+
# These owners will be the default owners for everything in the repo
5+
# and will be requested for review when someone opens a pull request
6+
# unless a later match takes precedence
7+
* @joerunde @prashantgupta24
8+
9+
# This lists cover the "core" components of vLLM-Spyre that require careful review
10+
/vllm_spyre @yannicks1 @tdoublep @nikolaospapandreou @sducouedic
11+
12+
# TODO: separate code into different packages:
13+
# /vllm_spyre/v1/worker/continuous_batching @nikolaospapandreou
14+
# /vllm_spyre/v1/worker/static_batching ...
15+
16+
# Tests
17+
/tests @rafvasq @prashantgupta24 @sducouedic
18+
19+
# Examples
20+
/examples @yannicks1 @prashantgupta24 @sducouedic
21+
22+
# Docs
23+
/docs @rafvasq
24+
.readthedocs.yaml @rafvasq
25+
mkdocs.yaml @rafvasq
26+
27+
# CI
28+
/.github @joerunde @ckadner
Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
name: Add label on auto-merge enabled
2+
23
on:
3-
pull_request_target:
4-
types:
5-
- auto_merge_enabled
4+
pull_request_target:
5+
types:
6+
- auto_merge_enabled
7+
68
jobs:
7-
add-label-on-auto-merge:
8-
runs-on: ubuntu-latest
9-
steps:
10-
- name: Add label
11-
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
12-
with:
13-
script: |
14-
github.rest.issues.addLabels({
15-
owner: context.repo.owner,
16-
repo: context.repo.repo,
17-
issue_number: context.issue.number,
18-
labels: ['ready']
19-
})
20-
env:
21-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9+
add-label-on-auto-merge:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Add label
13+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
14+
with:
15+
script: |
16+
github.rest.issues.addLabels({
17+
owner: context.repo.owner,
18+
repo: context.repo.repo,
19+
issue_number: context.issue.number,
20+
labels: ['ready']
21+
})
22+
env:
23+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/build_docker.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: "Build Docker"
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- "main"
8+
paths-ignore:
9+
- "**.md"
10+
pull_request:
11+
branches:
12+
- "main"
13+
paths-ignore:
14+
- "**.md"
15+
release:
16+
types: [published]
17+
18+
defaults:
19+
run:
20+
shell: bash
21+
22+
jobs:
23+
build:
24+
runs-on: ubuntu-latest
25+
env:
26+
CACHE_IMAGE: "ghcr.io/vllm-project/vllm-spyre:build-cache"
27+
QUAY_REPOSITORY: "quay.io/ibm-aiu/vllm-spyre"
28+
29+
permissions:
30+
packages: write
31+
contents: read
32+
33+
steps:
34+
- name: "Checkout"
35+
uses: actions/checkout@v4
36+
# We need to fetch history and tags so that we can correctly version the
37+
# vllm_spyre package, since it uses setuptools_scm to version based on
38+
# git tags.
39+
with:
40+
fetch-depth: 0
41+
42+
- name: "Set up QEMU"
43+
uses: docker/setup-qemu-action@v3
44+
45+
- name: "Set up Docker Buildx"
46+
uses: docker/setup-buildx-action@v3
47+
48+
- name: "Log in to Github Container registry"
49+
uses: docker/login-action@v3
50+
if: github.event_name != 'pull_request'
51+
with:
52+
registry: ghcr.io
53+
username: ${{ github.actor }}
54+
password: ${{ secrets.GITHUB_TOKEN }}
55+
56+
- name: "Log in to quay"
57+
uses: docker/login-action@v3
58+
if: github.event_name != 'pull_request'
59+
with:
60+
registry: quay.io
61+
username: ibm-aiu+aiu_pusher_bot
62+
password: ${{ secrets.IBM_AIU_QUAY_TOKEN }}
63+
64+
- name: "Set build cache target"
65+
run: |
66+
# For push to `main` (PR merged), push a new cache image with all layers (cache-mode=max).
67+
# For PR builds, use GitHub action cache which isolates cached layers by PR/branch.
68+
# to optimize builds for subsequent pushes to the same PR/branch.
69+
# Do not set a cache-to image for PR builds to not overwrite the `main` cache image and
70+
# to not ping-pong cache images for two or more different PRs.
71+
# Do not push cache images for each PR or multiple branches to not exceed GitHub package
72+
# usage and traffic limitations.
73+
# UPDATE 2024/02/26: GHA cache appears to have issues, cannot use `cache-to: gha,mode=min`
74+
# if `cache-from: reg...,mode=max` but `cache-to: gha,mode=max` takes longer than uncached
75+
# build and exhausts GHA cache size limits, so use cache `type=inline` (no external cache).
76+
if [ "${{ github.event_name }}" == "pull_request" ]
77+
then
78+
#CACHE_TO="type=gha,mode=min"
79+
CACHE_TO="type=inline"
80+
else
81+
CACHE_TO="type=registry,ref=${{ env.CACHE_IMAGE }},mode=max"
82+
fi
83+
echo "CACHE_TO=$CACHE_TO" >> "$GITHUB_ENV"
84+
85+
- name: "Generate tags"
86+
id: meta
87+
uses: docker/metadata-action@v5
88+
with:
89+
images: |
90+
${{ env.QUAY_REPOSITORY }}
91+
tags: |
92+
type=raw,value=latest.amd64
93+
type=semver,pattern={{version}}.amd64
94+
95+
- name: "Build and push"
96+
uses: docker/build-push-action@v5
97+
with:
98+
context: .
99+
file: docker/Dockerfile.amd64
100+
target: release
101+
provenance: false
102+
tags: ${{ steps.meta.outputs.tags }}
103+
cache-from: type=registry,ref=${{ env.CACHE_IMAGE }}
104+
cache-to: ${{ env.CACHE_TO }}
105+
push: ${{ github.event_name != 'pull_request' }}
106+
platforms: linux/amd64
Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
1-
name: Lint GitHub Actions workflows
1+
name: Lint GitHub Actions
2+
23
on:
3-
push:
4-
branches:
5-
- "main"
6-
paths:
7-
- '.github/workflows/*.ya?ml'
8-
- '.github/workflows/actionlint.*'
9-
- '.github/workflows/matchers/actionlint.json'
4+
# Don't use pull_request.paths filter since this workflow is required for
5+
# all pull requests on main irrespective of file type or location
106
pull_request:
7+
branches:
8+
- main
9+
push:
1110
branches:
1211
- "main"
1312
paths:
1413
- '.github/workflows/*.ya?ml'
15-
- '.github/workflows/actionlint.*'
16-
- '.github/workflows/matchers/actionlint.json'
1714

1815
env:
1916
LC_ALL: en_US.UTF-8
@@ -26,7 +23,7 @@ permissions:
2623
contents: read
2724

2825
jobs:
29-
actionlint:
26+
lint-actions:
3027
runs-on: ubuntu-latest
3128
steps:
3229
- name: "Checkout"
@@ -35,6 +32,8 @@ jobs:
3532
fetch-depth: 0
3633

3734
- name: "Run actionlint"
38-
run: |
39-
echo "::add-matcher::.github/workflows/matchers/actionlint.json"
40-
tools/actionlint.sh -color
35+
uses: raven-actions/actionlint@v2
36+
with:
37+
matcher: true
38+
cache: false
39+
fail-on-error: true

.github/workflows/lint_code.yml

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,22 @@
1-
name: lint code
1+
name: Lint Code
22

33
on:
4-
# Trigger the workflow on push or pull request,
5-
# but only for the main branch
4+
# Don't use pull_request.paths filter since this workflow is required for
5+
# all pull requests on main irrespective of file type or location
6+
pull_request:
7+
branches:
8+
- main
69
push:
710
branches:
811
- main
912
paths:
1013
- "**/*.py"
1114
- pyproject.toml
12-
- requirements-lint.txt
1315
- .github/workflows/matchers/ruff.json
14-
- .github/workflows/ruff.yml
15-
pull_request:
16-
branches:
17-
- main
18-
# This workflow is only relevant when one of the following files changes.
19-
# However, we have github configured to expect and require this workflow
20-
# to run and pass before github with auto-merge a pull request. Until github
21-
# allows more flexible auto-merge policy, we can just run this on every PR.
22-
# It doesn't take that long to run, anyway.
23-
#paths:
24-
# - "**/*.py"
25-
# - pyproject.toml
26-
# - requirements-lint.txt
27-
# - .github/workflows/matchers/ruff.json
28-
# - .github/workflows/ruff.yml
16+
- .github/workflows/lint_code.yml
2917

3018
jobs:
31-
ruff:
19+
lint-code:
3220
runs-on: ubuntu-latest
3321
strategy:
3422
matrix:
Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1-
name: Lint documentation
1+
name: Lint Docs
22

33
on:
4-
push:
4+
# Trigger the workflow on push or pull request, but only for the main branch.
5+
# Don't use pull_request.paths filter since this workflow is required for
6+
# all pull requests on main irrespective of file type or location.
7+
pull_request:
58
branches:
69
- main
7-
paths:
8-
- "docs/**"
9-
pull_request:
10+
push:
1011
branches:
1112
- main
1213
paths:
14+
- "**/*.md"
1315
- "docs/**"
1416

1517
jobs:
16-
doc-lint:
18+
lint-docs:
1719
runs-on: ubuntu-latest
1820
strategy:
1921
matrix:
@@ -27,4 +29,4 @@ jobs:
2729
- name: Install dependencies
2830
run: uv sync --frozen --only-group lint
2931
- name: Lint docs
30-
run: tools/doc-lint.sh
32+
run: tools/lint_docs.sh
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
name: Lint shell scripts
1+
name: Lint Scripts
2+
23
on:
3-
push:
4-
branches:
5-
- "main"
6-
paths:
7-
- '**/*.sh'
8-
- '.github/workflows/shellcheck.yml'
4+
# Don't use pull_request.paths filter since this workflow is required for
5+
# all pull requests on main irrespective of file type or location
96
pull_request:
107
branches:
11-
- "main"
8+
- main
9+
push:
10+
branches:
11+
- main
1212
paths:
1313
- '**/*.sh'
14-
- '.github/workflows/shellcheck.yml'
14+
- '.github/workflows/lint_scripts.yml'
1515

1616
env:
1717
LC_ALL: en_US.UTF-8
@@ -24,7 +24,7 @@ permissions:
2424
contents: read
2525

2626
jobs:
27-
shellcheck:
27+
lint-scripts:
2828
runs-on: ubuntu-latest
2929
steps:
3030
- name: "Checkout"
@@ -34,4 +34,4 @@ jobs:
3434

3535
- name: "Check shell scripts"
3636
run: |
37-
tools/shellcheck.sh
37+
tools/lint_scripts.sh

.github/workflows/matchers/actionlint.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)