[Release] [CI] Setup Docker Image Release Pipeline#1000
[Release] [CI] Setup Docker Image Release Pipeline#1000tjtanaa wants to merge 12 commits intovllm-project:mainfrom
Conversation
…eline.yaml Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ae8514561e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 71b83f8892
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
.buildkite/pipeline.yml
Outdated
| commands: | ||
| - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7" | ||
| - "docker build --file docker/Dockerfile.ci -t vllm-omni-ci ." | ||
| - "docker build --file docker/Dockerfile.ci -t vllm-omni-ci --target test ." |
There was a problem hiding this comment.
Point CI build at renamed Dockerfile
The CI image build still uses docker/Dockerfile.ci, but this commit renames that file to docker/Dockerfile (the old path no longer exists). In a Buildkite run, docker build --file docker/Dockerfile.ci ... will fail with “no such file,” so the CI pipeline cannot produce the image and all downstream test steps that depend on it will be blocked. Update the pipeline to use the new filename (or add a compatibility stub) to keep CI functional.
Useful? React with 👍 / 👎.
|
@ZJY0516 when can we have an arm version? |
There was a problem hiding this comment.
Pull request overview
This PR sets up a Docker image release pipeline for vllm-omni, enabling manual releases of CUDA and ROCm Docker images through BuildKite. The pipeline mirrors the approach used in the vLLM main repository, where administrators manually trigger builds and then annotate the pipeline with instructions for publishing images to DockerHub.
Changes:
- Introduced multi-stage Docker builds with
testandvllm-omni-openaitargets for both CUDA and ROCm images - Added new
.buildkite/release-pipeline.yamlfor building and annotating release images - Created
.buildkite/scripts/annotate-release.shto generate Docker pull/tag/push instructions - Updated existing BuildKite configurations to use the new
testtarget for CI builds
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| docker/Dockerfile | Added multi-stage build with base, test, and vllm-omni-openai stages |
| docker/Dockerfile.rocm | Added multi-stage build structure matching the CUDA Dockerfile |
| .buildkite/release-pipeline.yaml | New release pipeline with manual version input and image building steps |
| .buildkite/scripts/annotate-release.sh | New script to generate release annotation with docker commands |
| .buildkite/test-template-amd-omni.j2 | Updated to build test target instead of final |
| .buildkite/pipeline.yml | Updated to build test target from Dockerfile.ci |
Comments suppressed due to low confidence (1)
docker/Dockerfile:21
- The Dockerfile.rocm
teststage includesCMD ["/bin/bash"]but the equivalentteststage indocker/Dockerfiledoes not. For consistency and to ensure both test images behave the same way, consider addingCMD ["/bin/bash"]to theteststage indocker/Dockerfileas well, or remove it fromDockerfile.rocmif it's not needed.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.buildkite/pipeline.yml
Outdated
| commands: | ||
| - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7" | ||
| - "docker build --file docker/Dockerfile.ci -t vllm-omni-ci ." | ||
| - "docker build --file docker/Dockerfile.ci -t vllm-omni-ci --target test ." |
There was a problem hiding this comment.
The file docker/Dockerfile.ci does not exist in the repository. This will cause the build to fail. The change adds --target test, but without the Dockerfile, the build cannot proceed. Either create docker/Dockerfile.ci with the appropriate multi-stage build structure (including a test target), or change this reference to use an existing Dockerfile such as docker/Dockerfile.
| - "docker build --file docker/Dockerfile.ci -t vllm-omni-ci --target test ." | |
| - "docker build --file docker/Dockerfile -t vllm-omni-ci ." |
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
|
@ZJY0516 There are arm CI agents.
How long does it take to build fa3-fwd? |
…eline.yaml
PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED.
Purpose
This PR setup the vllm omni docker image release pipeline. We can address shipping nightly docker image once we have get the details down.
Steps
Currently, admins will have to trigger the buildkite pipeline manually like on vLLM main repo by the release admin.
First, fill up the version in the step "Provide Release version here" (in format X.X.X)
Similar to the vLLM main repo, at the end of the release pipeline, we will annotate the steps to upload the docker image to the Dockerhub.
Test Plan
Setup mock test with @khluu and validate the pipeline.
Test Result
Validate the release pipeline at
https://buildkite.com/vllm/release-pipeline-shadow/builds/2013 (requires permission).
https://buildkite.com/vllm/vllm-omni-release/builds/10/steps/canvas?sid=019c312e-4f56-4274-8847-4263e4addb1f&open=false (requires permission).
Pulled the docker image and tested locally. The image is healthy.
Follow ups in coming PRs
CC @ywang96 @khluu
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.BEFORE SUBMITTING, PLEASE READ https://github.com/vllm-project/vllm-omni/blob/main/CONTRIBUTING.md (anything written below this line will be removed by GitHub Actions)