@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 75003f34e8
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] Push multiarch manifests as nightly builds (#25764)

Signed-off-by: Sahithi Chigurupati <chigurupati.sahithi@gmail.com>

Sahithi Chigurupati committed Oct 3, 2025 at 15:42 UTC 75003f34e84b3243fd3bc95547a16111f7d569e8
2 files changed +37 -8
.buildkite/release-pipeline.yaml
+11 -5
@@ -150,11 +150,16 @@ steps:
150 queue: cpu_queue_postmerge
151 commands:
152 - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
153 - - "docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
154 - - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT vllm/vllm-openai:nightly"
155 - - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT vllm/vllm-openai:nightly-$BUILDKITE_COMMIT"
156 - - "docker push vllm/vllm-openai:nightly"
157 - - "docker push vllm/vllm-openai:nightly-$BUILDKITE_COMMIT"
153 + - "docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64"
154 + - "docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64"
155 + - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-x86_64 vllm/vllm-openai:nightly-x86_64"
156 + - "docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT-aarch64 vllm/vllm-openai:nightly-aarch64"
157 + - "docker push vllm/vllm-openai:nightly-x86_64"
158 + - "docker push vllm/vllm-openai:nightly-aarch64"
159 + - "docker manifest create vllm/vllm-openai:nightly vllm/vllm-openai:nightly-x86_64 vllm/vllm-openai:nightly-aarch64 --amend"
160 + - "docker manifest create vllm/vllm-openai:nightly-$BUILDKITE_COMMIT vllm/vllm-openai:nightly-x86_64 vllm/vllm-openai:nightly-aarch64 --amend"
161 + - "docker manifest push vllm/vllm-openai:nightly"
162 + - "docker manifest push vllm/vllm-openai:nightly-$BUILDKITE_COMMIT"
163 # Clean up old nightly builds (keep only last 14)
164 - "bash .buildkite/scripts/cleanup-nightly-builds.sh"
165 plugins:
@@ -163,3 +168,4 @@ steps:
168 password-env: DOCKERHUB_TOKEN
169 env:
170 DOCKER_BUILDKIT: "1"
171 + DOCKERHUB_USERNAME: "vllmbot"
.buildkite/scripts/cleanup-nightly-builds.sh
+26 -3
@@ -8,20 +8,41 @@ set -ex
8 # DockerHub API endpoint for vllm/vllm-openai repository
9 REPO_API_URL="https://hub.docker.com/v2/repositories/vllm/vllm-openai/tags"
10
11 -# Get DockerHub token from environment
11 +# Get DockerHub credentials from environment
12 if [ -z "$DOCKERHUB_TOKEN" ]; then
13 echo "Error: DOCKERHUB_TOKEN environment variable is not set"
14 exit 1
15 fi
16
17 +if [ -z "$DOCKERHUB_USERNAME" ]; then
18 + echo "Error: DOCKERHUB_USERNAME environment variable is not set"
19 + exit 1
20 +fi
21 +
22 +# Get DockerHub bearer token
23 +echo "Getting DockerHub bearer token..."
24 +set +x
25 +BEARER_TOKEN=$(curl -s -X POST \
26 + -H "Content-Type: application/json" \
27 + -d "{\"username\": \"$DOCKERHUB_USERNAME\", \"password\": \"$DOCKERHUB_TOKEN\"}" \
28 + "https://hub.docker.com/v2/users/login" | jq -r '.token')
29 +set -x
30 +
31 +if [ -z "$BEARER_TOKEN" ] || [ "$BEARER_TOKEN" = "null" ]; then
32 + echo "Error: Failed to get DockerHub bearer token"
33 + exit 1
34 +fi
35 +
36 # Function to get all tags from DockerHub
37 get_all_tags() {
38 local page=1
39 local all_tags=""
40
41 while true; do
23 - local response=$(curl -s -H "Authorization: Bearer $DOCKERHUB_TOKEN" \
42 + set +x
43 + local response=$(curl -s -H "Authorization: Bearer $BEARER_TOKEN" \
44 "$REPO_API_URL?page=$page&page_size=100")
45 + set -x
46
47 # Get both last_updated timestamp and tag name, separated by |
48 local tags=$(echo "$response" | jq -r '.results[] | select(.name | startswith("nightly-")) | "\(.last_updated)|\(.name)"')
@@ -43,7 +64,9 @@ delete_tag() {
64 echo "Deleting tag: $tag_name"
65
66 local delete_url="https://hub.docker.com/v2/repositories/vllm/vllm-openai/tags/$tag_name"
46 - local response=$(curl -s -X DELETE -H "Authorization: Bearer $DOCKERHUB_TOKEN" "$delete_url")
67 + set +x
68 + local response=$(curl -s -X DELETE -H "Authorization: Bearer $BEARER_TOKEN" "$delete_url")
69 + set -x
70
71 if echo "$response" | jq -e '.detail' > /dev/null 2>&1; then
72 echo "Warning: Failed to delete tag $tag_name: $(echo "$response" | jq -r '.detail')"