Skip to content

Commit 75003f3

Browse files
authored
[CI] Push multiarch manifests as nightly builds (vllm-project#25764)
Signed-off-by: Sahithi Chigurupati <[email protected]>
1 parent 78b8015 commit 75003f3

File tree

2 files changed

+37
-8
lines changed

2 files changed

+37
-8
lines changed

.buildkite/release-pipeline.yaml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,16 @@ steps:
150150
queue: cpu_queue_postmerge
151151
commands:
152152
- "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"
158163
# Clean up old nightly builds (keep only last 14)
159164
- "bash .buildkite/scripts/cleanup-nightly-builds.sh"
160165
plugins:
@@ -163,3 +168,4 @@ steps:
163168
password-env: DOCKERHUB_TOKEN
164169
env:
165170
DOCKER_BUILDKIT: "1"
171+
DOCKERHUB_USERNAME: "vllmbot"

.buildkite/scripts/cleanup-nightly-builds.sh

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,41 @@ set -ex
88
# DockerHub API endpoint for vllm/vllm-openai repository
99
REPO_API_URL="https://hub.docker.com/v2/repositories/vllm/vllm-openai/tags"
1010

11-
# Get DockerHub token from environment
11+
# Get DockerHub credentials from environment
1212
if [ -z "$DOCKERHUB_TOKEN" ]; then
1313
echo "Error: DOCKERHUB_TOKEN environment variable is not set"
1414
exit 1
1515
fi
1616

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+
1736
# Function to get all tags from DockerHub
1837
get_all_tags() {
1938
local page=1
2039
local all_tags=""
2140

2241
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" \
2444
"$REPO_API_URL?page=$page&page_size=100")
45+
set -x
2546

2647
# Get both last_updated timestamp and tag name, separated by |
2748
local tags=$(echo "$response" | jq -r '.results[] | select(.name | startswith("nightly-")) | "\(.last_updated)|\(.name)"')
@@ -43,7 +64,9 @@ delete_tag() {
4364
echo "Deleting tag: $tag_name"
4465

4566
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
4770

4871
if echo "$response" | jq -e '.detail' > /dev/null 2>&1; then
4972
echo "Warning: Failed to delete tag $tag_name: $(echo "$response" | jq -r '.detail')"

0 commit comments

Comments
 (0)