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')"