@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 1752262e96
Fork 0

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)