@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 3c0ef769ba
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 14, 05:30 UTC

ci: Add arm64 docker build to release pipeline (#23210)

Signed-off-by: Eli Uriegas <eliuriegas@meta.com> Signed-off-by: Eli Uriegas <1700823+seemethere@users.noreply.github.com>

Eli Uriegas committed Aug 27, 2025 at 10:41 UTC 3c0ef769bace3d48b276c7233ed6f39fe03f95b7
1 file changed +32 -6
.buildkite/release-pipeline.yaml
+32 -6
@@ -7,7 +7,7 @@ steps:
7 commands:
8 # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
9 # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
10 - - "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.8.1 --build-arg torch_cuda_arch_list='8.7 9.0 10.0+PTX' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
10 + - "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.8.1 --build-arg torch_cuda_arch_list='8.7 9.0 10.0+PTX 12.0' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
11 - "mkdir artifacts"
12 - "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'"
13 - "bash .buildkite/scripts/upload-wheels.sh"
@@ -62,23 +62,49 @@ steps:
62 env:
63 DOCKER_BUILDKIT: "1"
64
65 - - block: "Build release image"
65 + - block: "Build release image (x86)"
66 depends_on: ~
67 key: block-release-image-build
68
69 - - label: "Build release image"
69 + - label: "Build release image (x86)"
70 depends_on: block-release-image-build
71 - id: build-release-image
71 + id: build-release-image-x86
72 agents:
73 queue: cpu_queue_postmerge
74 commands:
75 - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
76 - - "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.8.1 --build-arg FLASHINFER_AOT_COMPILE=true --build-arg INSTALL_KV_CONNECTORS=true --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT --target vllm-openai --progress plain -f docker/Dockerfile ."
76 + - "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.8.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 ."
77 + - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
78 + # re-tag to default image tag and push, just in case arm64 build fails
79 + - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m) public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
80 - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
81
82 + - label: "Build release image (arm64)"
83 + depends_on: block-release-image-build
84 + id: build-release-image-arm64
85 + agents:
86 + queue: arm64_cpu_queue_postmerge
87 + commands:
88 + - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
89 + - "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.8.1 --build-arg torch_cuda_arch_list='8.7 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 ."
90 + - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-$(uname -m)"
91 +
92 + # Add job to create multi-arch manifest
93 + - label: "Create multi-arch manifest"
94 + depends_on:
95 + - build-release-image-x86
96 + - build-release-image-arm64
97 + id: create-multi-arch-manifest
98 + agents:
99 + queue: cpu_queue_postmerge
100 + commands:
101 + - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
102 + - "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"
103 + - "docker manifest push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
104 +
105 - label: "Annotate release workflow"
106 depends_on:
81 - - build-release-image
107 + - create-multi-arch-manifest
108 - build-wheel-cuda-12-8
109 - build-wheel-cuda-12-6
110 - build-wheel-cuda-11-8