A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 9, 19:30 UTC
[CI] refactor release pipeline config into groups (#32833)
Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Shengqi Chen committed
Jan 22, 2026 at 03:27 UTC
1752262e96f94d3cf4d236d8d7f3dada2cdb927e
1 file changed
+277
-276
.buildkite/release-pipeline.yaml
+277
-276
@@ -1,286 +1,287 @@
1
steps:
2
- # aarch64 + CUDA builds
3
- - label: "Build wheel - aarch64 - CUDA 12.9"
4
- depends_on: ~
5
- id: build-wheel-arm64-cuda-12-9
6
- agents:
7
- queue: arm64_cpu_queue_postmerge
8
- commands:
9
- # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
10
- # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
11
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
12
- - "mkdir artifacts"
13
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
14
- - "bash .buildkite/scripts/upload-nightly-wheels.sh"
15
- env:
16
- DOCKER_BUILDKIT: "1"
17
-
18
- - label: "Build wheel - aarch64 - CUDA 13.0"
19
- depends_on: ~
20
- id: build-wheel-arm64-cuda-13-0
21
- agents:
22
- queue: arm64_cpu_queue_postmerge
23
- commands:
24
- # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
25
- # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
26
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
27
- - "mkdir artifacts"
28
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
29
- - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
30
- env:
31
- DOCKER_BUILDKIT: "1"
32
-
33
- # aarch64 build
34
- - label: "Build wheel - aarch64 - CPU"
35
- depends_on: ~
36
- id: build-wheel-arm64-cpu
37
- agents:
38
- queue: arm64_cpu_queue_postmerge
39
- commands:
40
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_BUILD_ACL=ON --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.cpu ."
41
- - "mkdir artifacts"
42
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
43
- - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
44
- env:
45
- DOCKER_BUILDKIT: "1"
46
-
47
- # x86 + CUDA builds
48
- - label: "Build wheel - x86_64 - CUDA 12.9"
49
- depends_on: ~
50
- id: build-wheel-x86-cuda-12-9
51
- agents:
52
- queue: cpu_queue_postmerge
53
- commands:
54
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
55
- - "mkdir artifacts"
56
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
57
- - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_31"
58
- env:
59
- DOCKER_BUILDKIT: "1"
60
-
61
- - label: "Build wheel - x86_64 - CUDA 13.0"
62
- depends_on: ~
63
- id: build-wheel-x86-cuda-13-0
64
- agents:
65
- queue: cpu_queue_postmerge
66
- commands:
67
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
68
- - "mkdir artifacts"
69
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
70
- - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
71
- env:
72
- DOCKER_BUILDKIT: "1"
73
-
74
- # x86 CPU wheel build
75
- - label: "Build wheel - x86_64 - CPU"
76
- depends_on: ~
77
- id: build-wheel-x86-cpu
78
- agents:
79
- queue: cpu_queue_postmerge
80
- commands:
81
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_CPU_AVX512BF16=true --build-arg VLLM_CPU_AVX512VNNI=true --build-arg VLLM_CPU_AMXBF16=true --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.cpu ."
82
- - "mkdir artifacts"
83
- - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
84
- - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
85
- env:
86
- DOCKER_BUILDKIT: "1"
87
-
88
- # Build release images (CUDA 12.9)
89
- - label: "Build release image - x86_64 - CUDA 12.9"
90
- depends_on: ~
91
- id: build-release-image-x86
92
- agents:
93
- queue: cpu_queue_postmerge
94
- commands:
95
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
96
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
97
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
98
- # re-tag to default image tag and push, just in case arm64 build fails
99
- - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
100
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
101
-
102
- - label: "Build release image - aarch64 - CUDA 12.9"
103
- depends_on: ~
104
- id: build-release-image-arm64
105
- agents:
106
- queue: arm64_cpu_queue_postmerge
107
- commands:
108
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
109
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
110
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
111
-
112
- - label: "Create multi-arch manifest - CUDA 12.9"
113
- depends_on:
114
- - build-release-image-x86
115
- - build-release-image-arm64
116
- id: create-multi-arch-manifest
117
- agents:
118
- queue: small_cpu_queue_postmerge
119
- commands:
120
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
121
- - "docker manifest create public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64 --amend"
122
- - "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
123
-
124
- - label: "Annotate release workflow - CUDA 12.9"
125
- depends_on:
126
- - create-multi-arch-manifest
127
- id: annotate-release-workflow
128
- agents:
129
- queue: small_cpu_queue_postmerge
130
- commands:
131
- - "bash .buildkite/scripts/annotate-release.sh"
132
-
133
- - block: "Build CUDA 13.0 release images"
134
- key: block-release-image-build-cuda-13-0
135
- depends_on: ~
136
-
137
- - label: "Build release image - x86_64 - CUDA 13.0"
138
- depends_on: block-release-image-build-cuda-13-0
139
- id: build-release-image-x86-cuda-13-0
140
- agents:
141
- queue: cpu_queue_postmerge
142
- commands:
143
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
144
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg INSTALL_KV_CONNECTORS=true --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 --target vllm-openai --progress plain -f docker/Dockerfile ."
145
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130"
146
- # re-tag to default image tag and push, just in case arm64 build fails
147
- - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
148
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
149
-
150
- - label: "Build release image - aarch64 - CUDA 13.0"
151
- depends_on: block-release-image-build-cuda-13-0
152
- id: build-release-image-arm64-cuda-13-0
153
- agents:
154
- queue: arm64_cpu_queue_postmerge
155
- commands:
156
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
157
- # compute capability 12.0 for RTX-50 series / RTX PRO 6000 Blackwell, 12.1 for DGX Spark
158
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0 12.1' --build-arg INSTALL_KV_CONNECTORS=true --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 --target vllm-openai --progress plain -f docker/Dockerfile ."
159
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130"
160
-
161
- - label: "Create multi-arch manifest - CUDA 13.0"
162
- depends_on:
163
- - build-release-image-x86-cuda-13-0
164
- - build-release-image-arm64-cuda-13-0
165
- id: create-multi-arch-manifest-cuda-13-0
166
- agents:
167
- queue: small_cpu_queue_postmerge
168
- commands:
169
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
170
- - "docker manifest create public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64-cu130 --amend"
171
- - "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
172
-
2
- input: "Provide Release version here"
3
id: input-release-version
4
fields:
5
- text: "What is the release version?"
6
key: release-version
7
179
- - block: "Confirm update release wheels to PyPI (experimental, use with caution)?"
180
- key: block-upload-release-wheels
181
- depends_on:
182
- - input-release-version
183
- - build-wheel-x86-cuda-12-9
184
- - build-wheel-x86-cuda-13-0
185
- - build-wheel-x86-cpu
186
- - build-wheel-arm64-cuda-12-9
187
- - build-wheel-arm64-cuda-13-0
188
- - build-wheel-arm64-cpu
189
-
190
- - label: "Upload release wheels to PyPI and GitHub"
191
- depends_on:
192
- - block-upload-release-wheels
193
- id: upload-release-wheels
194
- agents:
195
- queue: small_cpu_queue_postmerge
196
- commands:
197
- - "bash .buildkite/scripts/upload-release-wheels.sh"
198
-
199
- - block: "Build CPU release image"
200
- key: block-cpu-release-image-build
201
- depends_on: ~
202
-
203
- - label: "Build and publish CPU release image"
204
- depends_on: block-cpu-release-image-build
205
- agents:
206
- queue: cpu_queue_postmerge
207
- commands:
208
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
209
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_CPU_AVX512BF16=true --build-arg VLLM_CPU_AVX512VNNI=true --build-arg VLLM_CPU_AMXBF16=true --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest --progress plain --target vllm-openai -f docker/Dockerfile.cpu ."
210
- - "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest"
211
- - "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version)"
212
- env:
213
- DOCKER_BUILDKIT: "1"
214
-
215
- - block: "Build arm64 CPU release image"
216
- key: block-arm64-cpu-release-image-build
217
- depends_on: ~
218
-
219
- - label: "Build and publish arm64 CPU release image"
220
- depends_on: block-arm64-cpu-release-image-build
221
- agents:
222
- queue: arm64_cpu_queue_postmerge
223
- commands:
224
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
225
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:latest --progress plain --target vllm-openai -f docker/Dockerfile.cpu ."
226
- - "docker push public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:latest"
227
- - "docker push public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:$(buildkite-agent meta-data get release-version)"
228
- env:
229
- DOCKER_BUILDKIT: "1"
230
-
231
- - block: "Build ROCm release image"
232
- key: block-rocm-release-image-build
233
- depends_on: ~
234
-
235
- - label: "Build release image (ROCm)"
236
- depends_on: block-rocm-release-image-build
237
- id: build-release-image-rocm
238
- agents:
239
- queue: cpu_queue_postmerge
240
- commands:
241
- - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
242
- # Build base image first
243
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --tag rocm/vllm-dev:base-$BUILDKITE_COMMIT --target final --progress plain -f docker/Dockerfile.rocm_base ."
244
- # Build vLLM ROCm image using the base
245
- - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg BASE_IMAGE=rocm/vllm-dev:base-$BUILDKITE_COMMIT --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-rocm --target vllm-openai --progress plain -f docker/Dockerfile.rocm ."
246
- - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-rocm"
247
-
248
- - label: "Build and publish nightly multi-arch image to DockerHub"
249
- depends_on:
250
- - create-multi-arch-manifest
251
- if: build.env("NIGHTLY") == "1"
252
- agents:
253
- queue: small_cpu_queue_postmerge
254
- commands:
255
- - "bash .buildkite/scripts/push-nightly-builds.sh"
256
- # Clean up old nightly builds (keep only last 14)
257
- - "bash .buildkite/scripts/cleanup-nightly-builds.sh"
258
- plugins:
259
- - docker-login#v3.0.0:
260
- username: vllmbot
261
- password-env: DOCKERHUB_TOKEN
262
- env:
263
- DOCKER_BUILDKIT: "1"
264
- DOCKERHUB_USERNAME: "vllmbot"
265
-
266
- - label: "Build and publish nightly multi-arch image to DockerHub - CUDA 13.0"
267
- depends_on:
268
- - create-multi-arch-manifest-cuda-13-0
269
- if: build.env("NIGHTLY") == "1"
270
- agents:
271
- queue: small_cpu_queue_postmerge
272
- commands:
273
- - "bash .buildkite/scripts/push-nightly-builds.sh cu130"
274
- # Clean up old nightly builds (keep only last 14)
275
- - "bash .buildkite/scripts/cleanup-nightly-builds.sh cu130-nightly-"
276
- plugins:
277
- - docker-login#v3.0.0:
278
- username: vllmbot
279
- password-env: DOCKERHUB_TOKEN
280
- env:
281
- DOCKER_BUILDKIT: "1"
282
- DOCKERHUB_USERNAME: "vllmbot"
283
-
8
+ - group: "Build Python wheels"
9
+ key: "build-wheels"
10
+ steps:
11
+ - label: "Build wheel - aarch64 - CUDA 12.9"
12
+ depends_on: ~
13
+ id: build-wheel-arm64-cuda-12-9
14
+ agents:
15
+ queue: arm64_cpu_queue_postmerge
16
+ commands:
17
+ # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
18
+ # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
19
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
20
+ - "mkdir artifacts"
21
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
22
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh"
23
+ env:
24
+ DOCKER_BUILDKIT: "1"
25
+
26
+ - label: "Build wheel - aarch64 - CUDA 13.0"
27
+ depends_on: ~
28
+ id: build-wheel-arm64-cuda-13-0
29
+ agents:
30
+ queue: arm64_cpu_queue_postmerge
31
+ commands:
32
+ # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
33
+ # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
34
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
35
+ - "mkdir artifacts"
36
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
37
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
38
+ env:
39
+ DOCKER_BUILDKIT: "1"
40
+
41
+ - label: "Build wheel - aarch64 - CPU"
42
+ depends_on: ~
43
+ id: build-wheel-arm64-cpu
44
+ agents:
45
+ queue: arm64_cpu_queue_postmerge
46
+ commands:
47
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_BUILD_ACL=ON --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.cpu ."
48
+ - "mkdir artifacts"
49
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
50
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
51
+ env:
52
+ DOCKER_BUILDKIT: "1"
53
+
54
+ - label: "Build wheel - x86_64 - CUDA 12.9"
55
+ depends_on: ~
56
+ id: build-wheel-x86-cuda-12-9
57
+ agents:
58
+ queue: cpu_queue_postmerge
59
+ commands:
60
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
61
+ - "mkdir artifacts"
62
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
63
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_31"
64
+ env:
65
+ DOCKER_BUILDKIT: "1"
66
+
67
+ - label: "Build wheel - x86_64 - CUDA 13.0"
68
+ depends_on: ~
69
+ id: build-wheel-x86-cuda-13-0
70
+ agents:
71
+ queue: cpu_queue_postmerge
72
+ commands:
73
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
74
+ - "mkdir artifacts"
75
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
76
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
77
+ env:
78
+ DOCKER_BUILDKIT: "1"
79
+
80
+ - label: "Build wheel - x86_64 - CPU"
81
+ depends_on: ~
82
+ id: build-wheel-x86-cpu
83
+ agents:
84
+ queue: cpu_queue_postmerge
85
+ commands:
86
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_CPU_AVX512BF16=true --build-arg VLLM_CPU_AVX512VNNI=true --build-arg VLLM_CPU_AMXBF16=true --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.cpu ."
87
+ - "mkdir artifacts"
88
+ - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
89
+ - "bash .buildkite/scripts/upload-nightly-wheels.sh manylinux_2_35"
90
+ env:
91
+ DOCKER_BUILDKIT: "1"
92
+
93
+ - group: "Build release Docker images"
94
+ key: "build-release-images"
95
+ steps:
96
+ - label: "Build release image - x86_64 - CUDA 12.9"
97
+ depends_on: ~
98
+ id: build-release-image-x86
99
+ agents:
100
+ queue: cpu_queue_postmerge
101
+ commands:
102
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
103
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
104
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
105
+ # re-tag to default image tag and push, just in case arm64 build fails
106
+ - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
107
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
108
+
109
+ - label: "Build release image - aarch64 - CUDA 12.9"
110
+ depends_on: ~
111
+ id: build-release-image-arm64
112
+ agents:
113
+ queue: arm64_cpu_queue_postmerge
114
+ commands:
115
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
116
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.9.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0' --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) --target vllm-openai --progress plain -f docker/Dockerfile ."
117
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
118
+
119
+ - label: "Build release image - x86_64 - CUDA 13.0"
120
+ depends_on: ~
121
+ id: build-release-image-x86-cuda-13-0
122
+ agents:
123
+ queue: cpu_queue_postmerge
124
+ commands:
125
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
126
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg INSTALL_KV_CONNECTORS=true --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 --target vllm-openai --progress plain -f docker/Dockerfile ."
127
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130"
128
+ # re-tag to default image tag and push, just in case arm64 build fails
129
+ - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
130
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
131
+
132
+ - label: "Build release image - aarch64 - CUDA 13.0"
133
+ depends_on: ~
134
+ id: build-release-image-arm64-cuda-13-0
135
+ agents:
136
+ queue: arm64_cpu_queue_postmerge
137
+ commands:
138
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
139
+ # compute capability 12.0 for RTX-50 series / RTX PRO 6000 Blackwell, 12.1 for DGX Spark
140
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=13.0.1 --build-arg torch_cuda_arch_list='8.7 8.9 9.0 10.0+PTX 12.0 12.1' --build-arg INSTALL_KV_CONNECTORS=true --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.1-devel-ubuntu22.04 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130 --target vllm-openai --progress plain -f docker/Dockerfile ."
141
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)-cu130"
142
+
143
+ - block: "Build release image for x86_64 CPU"
144
+ key: block-cpu-release-image-build
145
+ depends_on: ~
146
+
147
+ - label: "Build release image - x86_64 - CPU"
148
+ depends_on:
149
+ - block-cpu-release-image-build
150
+ - input-release-version
151
+ agents:
152
+ queue: cpu_queue_postmerge
153
+ commands:
154
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
155
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_CPU_AVX512BF16=true --build-arg VLLM_CPU_AVX512VNNI=true --build-arg VLLM_CPU_AMXBF16=true --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest --progress plain --target vllm-openai -f docker/Dockerfile.cpu ."
156
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest"
157
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version)"
158
+ env:
159
+ DOCKER_BUILDKIT: "1"
160
+
161
+ - block: "Build release image for arm64 CPU"
162
+ key: block-arm64-cpu-release-image-build
163
+ depends_on: ~
164
+
165
+ - label: "Build release image - arm64 - CPU"
166
+ depends_on:
167
+ - block-arm64-cpu-release-image-build
168
+ - input-release-version
169
+ agents:
170
+ queue: arm64_cpu_queue_postmerge
171
+ commands:
172
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
173
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:latest --progress plain --target vllm-openai -f docker/Dockerfile.cpu ."
174
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:latest"
175
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-arm64-cpu-release-repo:$(buildkite-agent meta-data get release-version)"
176
+ env:
177
+ DOCKER_BUILDKIT: "1"
178
+
179
+ - block: "Build release image for x86_64 ROCm"
180
+ key: block-rocm-release-image-build
181
+ depends_on: ~
182
+
183
+ - label: "Build release image - x86_64 - ROCm"
184
+ depends_on: block-rocm-release-image-build
185
+ id: build-release-image-rocm
186
+ agents:
187
+ queue: cpu_queue_postmerge
188
+ commands:
189
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
190
+ # Build base image first
191
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --tag rocm/vllm-dev:base-$BUILDKITE_COMMIT --target final --progress plain -f docker/Dockerfile.rocm_base ."
192
+ # Build vLLM ROCm image using the base
193
+ - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg BASE_IMAGE=rocm/vllm-dev:base-$BUILDKITE_COMMIT --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-rocm --target vllm-openai --progress plain -f docker/Dockerfile.rocm ."
194
+ - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-rocm"
195
+
196
+ - group: "Publish release images"
197
+ key: "publish-release-images"
198
+ steps:
199
+ - label: "Create multi-arch manifest - CUDA 12.9"
200
+ depends_on:
201
+ - build-release-image-x86
202
+ - build-release-image-arm64
203
+ id: create-multi-arch-manifest
204
+ agents:
205
+ queue: small_cpu_queue_postmerge
206
+ commands:
207
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
208
+ - "docker manifest create public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64 --amend"
209
+ - "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
210
+
211
+ - label: "Annotate release workflow - CUDA 12.9"
212
+ depends_on:
213
+ - create-multi-arch-manifest
214
+ id: annotate-release-workflow
215
+ agents:
216
+ queue: small_cpu_queue_postmerge
217
+ commands:
218
+ - "bash .buildkite/scripts/annotate-release.sh"
219
+
220
+ - label: "Create multi-arch manifest - CUDA 13.0"
221
+ depends_on:
222
+ - build-release-image-x86-cuda-13-0
223
+ - build-release-image-arm64-cuda-13-0
224
+ id: create-multi-arch-manifest-cuda-13-0
225
+ agents:
226
+ queue: small_cpu_queue_postmerge
227
+ commands:
228
+ - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
229
+ - "docker manifest create public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64-cu130 public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64-cu130 --amend"
230
+ - "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-cu130"
231
+
232
+ - label: "Publish nightly multi-arch image to DockerHub"
233
+ depends_on:
234
+ - create-multi-arch-manifest
235
+ if: build.env("NIGHTLY") == "1"
236
+ agents:
237
+ queue: small_cpu_queue_postmerge
238
+ commands:
239
+ - "bash .buildkite/scripts/push-nightly-builds.sh"
240
+ # Clean up old nightly builds (keep only last 14)
241
+ - "bash .buildkite/scripts/cleanup-nightly-builds.sh"
242
+ plugins:
243
+ - docker-login#v3.0.0:
244
+ username: vllmbot
245
+ password-env: DOCKERHUB_TOKEN
246
+ env:
247
+ DOCKER_BUILDKIT: "1"
248
+ DOCKERHUB_USERNAME: "vllmbot"
249
+
250
+ - label: "Publish nightly multi-arch image to DockerHub - CUDA 13.0"
251
+ depends_on:
252
+ - create-multi-arch-manifest-cuda-13-0
253
+ if: build.env("NIGHTLY") == "1"
254
+ agents:
255
+ queue: small_cpu_queue_postmerge
256
+ commands:
257
+ - "bash .buildkite/scripts/push-nightly-builds.sh cu130"
258
+ # Clean up old nightly builds (keep only last 14)
259
+ - "bash .buildkite/scripts/cleanup-nightly-builds.sh cu130-nightly-"
260
+ plugins:
261
+ - docker-login#v3.0.0:
262
+ username: vllmbot
263
+ password-env: DOCKERHUB_TOKEN
264
+ env:
265
+ DOCKER_BUILDKIT: "1"
266
+ DOCKERHUB_USERNAME: "vllmbot"
267
+
268
+ - group: "Publish wheels"
269
+ key: "publish-wheels"
270
+ steps:
271
+ - block: "Confirm update release wheels to PyPI (experimental, use with caution)?"
272
+ key: block-upload-release-wheels
273
+ depends_on:
274
+ - input-release-version
275
+ - build-wheels
276
+
277
+ - label: "Upload release wheels to PyPI and GitHub"
278
+ depends_on:
279
+ - block-upload-release-wheels
280
+ id: upload-release-wheels
281
+ agents:
282
+ queue: small_cpu_queue_postmerge
283
+ commands:
284
+ - "bash .buildkite/scripts/upload-release-wheels.sh"
285
286
# =============================================================================
287
# ROCm Release Pipeline (x86_64 only)