Add XPU nightly and release image publishing to DockerHub (#48126)

Signed-off-by: wenjun.liu <wenjun.liu@intel.com> Signed-off-by: jun,du <jun.du@intel.com> Co-authored-by: jun,du <jun.du@intel.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>

wenjun liu committed Jul 10, 2026 at 15:56 UTC 216ee58780a85470971ac9be02d0fd2eabc942b7
3 files changed +55
.buildkite/release-pipeline.yaml
+18
@@ -848,6 +848,23 @@ steps:
848 DOCKER_BUILDKIT: "1"
849 S3_BUCKET: "vllm-wheels"
850
851 + - label: "Publish nightly XPU image to DockerHub"
852 + depends_on:
853 + - create-manifest-xpu
854 + if: build.env("NIGHTLY") == "1"
855 + agents:
856 + queue: small_cpu_queue_release
857 + commands:
858 + - "bash .buildkite/scripts/xpu/push-nightly-builds-xpu.sh"
859 + - "bash .buildkite/scripts/cleanup-nightly-builds.sh nightly- vllm/vllm-openai-xpu"
860 + plugins:
861 + - docker-login#v3.0.0:
862 + username: vllmbot
863 + password-env: DOCKERHUB_TOKEN
864 + env:
865 + DOCKER_BUILDKIT: "1"
866 + DOCKERHUB_USERNAME: "vllmbot"
867 +
868 - label: "Publish nightly ROCm image to DockerHub"
869 depends_on:
870 - build-rocm-release-image
@@ -878,6 +895,7 @@ steps:
895 - create-multi-arch-manifest-cuda-12-9
896 - create-multi-arch-manifest-ubuntu2404
897 - create-multi-arch-manifest-cuda-12-9-ubuntu2404
898 + - create-manifest-xpu
899 - build-rocm-release-image
900 - input-release-version
901 # Wait for CPU builds if their block steps were unblocked, so publish
.buildkite/scripts/publish-release-images.sh
+16
@@ -130,6 +130,22 @@ docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${ROCM_BASE_CACHE_KEY}-rocm
130 docker push vllm/vllm-openai-rocm:latest-base
131 docker push vllm/vllm-openai-rocm:v${RELEASE_VERSION}-base
132
133 +# ---- XPU ----
134 +
135 +docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${COMMIT}-x86_64-xpu
136 +
137 +docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${COMMIT}-x86_64-xpu vllm/vllm-openai-xpu:latest-x86_64
138 +docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${COMMIT}-x86_64-xpu vllm/vllm-openai-xpu:v${RELEASE_VERSION}-x86_64
139 +docker push vllm/vllm-openai-xpu:latest-x86_64
140 +docker push vllm/vllm-openai-xpu:v${RELEASE_VERSION}-x86_64
141 +
142 +docker manifest rm vllm/vllm-openai-xpu:latest || true
143 +docker manifest rm vllm/vllm-openai-xpu:v${RELEASE_VERSION} || true
144 +docker manifest create vllm/vllm-openai-xpu:latest vllm/vllm-openai-xpu:latest-x86_64 --amend
145 +docker manifest create vllm/vllm-openai-xpu:v${RELEASE_VERSION} vllm/vllm-openai-xpu:v${RELEASE_VERSION}-x86_64 --amend
146 +docker manifest push vllm/vllm-openai-xpu:latest
147 +docker manifest push vllm/vllm-openai-xpu:v${RELEASE_VERSION}
148 +
149 # ---- CPU ----
150 # CPU images are behind separate block steps and may not have been built.
151 # All-or-nothing: inspect both arches first, then either publish everything
.buildkite/scripts/xpu/push-nightly-builds-xpu.sh new
+21
@@ -0,0 +1,21 @@
1 +#!/bin/bash
2 +
3 +set -ex
4 +
5 +ORIG_TAG_NAME="$BUILDKITE_COMMIT"
6 +REPO="vllm/vllm-openai-xpu"
7 +
8 +echo "Pushing original XPU tag ${ORIG_TAG_NAME}-xpu to nightly tags in ${REPO}"
9 +
10 +aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7
11 +docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:"$ORIG_TAG_NAME"-x86_64-xpu
12 +
13 +docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:"$ORIG_TAG_NAME"-x86_64-xpu ${REPO}:nightly-x86_64
14 +docker push ${REPO}:nightly-x86_64
15 +
16 +docker manifest rm ${REPO}:nightly || true
17 +docker manifest rm ${REPO}:nightly-"$BUILDKITE_COMMIT" || true
18 +docker manifest create ${REPO}:nightly ${REPO}:nightly-x86_64 --amend
19 +docker manifest create ${REPO}:nightly-"$BUILDKITE_COMMIT" ${REPO}:nightly-x86_64 --amend
20 +docker manifest push ${REPO}:nightly
21 +docker manifest push ${REPO}:nightly-"$BUILDKITE_COMMIT"
\ No newline at end of file