Skip to content

[Release] [CI] Setup Docker Image Release Pipeline#1000

Open
tjtanaa wants to merge 12 commits intovllm-project:mainfrom
EmbeddedLLM:release-pipeline
Open

[Release] [CI] Setup Docker Image Release Pipeline#1000
tjtanaa wants to merge 12 commits intovllm-project:mainfrom
EmbeddedLLM:release-pipeline

Conversation

@tjtanaa
Copy link
Contributor

@tjtanaa tjtanaa commented Jan 28, 2026

…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)

image image

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.

image

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

  1. Build more of the docker image arch. For example on upstream vllm v0.14.0, there are multiple arch. The follow is the list of the docker image tag found in vllm/vllm-openai .
docker pull vllm/vllm-openai:v0.14.0-cu130

docker pull vllm/vllm-openai:v0.14.0-x86_64-cu130

docker pull vllm/vllm-openai:v0.14.0-aarch64-cu130

docker pull vllm/vllm-openai:v0.14.0

docker pull vllm/vllm-openai:v0.14.0-x86_64

docker pull vllm/vllm-openai:v0.14.0-aarch64
  1. Setup python wheel release pipeline.

CC @ywang96 @khluu


Essential Elements of an Effective PR Description Checklist
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.
  • (Optional) Release notes update. If your change is user facing, please update the release notes draft.

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)

…eline.yaml

Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
@tjtanaa tjtanaa marked this pull request as draft January 28, 2026 04:50
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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>
Signed-off-by: tjtanaa <tunjian.tan@embeddedllm.com>
@tjtanaa tjtanaa marked this pull request as ready for review February 5, 2026 09:45
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

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 ."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

@hsliuustc0106 hsliuustc0106 requested a review from a team February 5, 2026 17:21
@hsliuustc0106
Copy link
Collaborator

hsliuustc0106 commented Feb 5, 2026

@ZJY0516 when can we have an arm version?

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 test and vllm-omni-openai targets for both CUDA and ROCm images
  • Added new .buildkite/release-pipeline.yaml for building and annotating release images
  • Created .buildkite/scripts/annotate-release.sh to generate Docker pull/tag/push instructions
  • Updated existing BuildKite configurations to use the new test target 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 test stage includes CMD ["/bin/bash"] but the equivalent test stage in docker/Dockerfile does not. For consistency and to ensure both test images behave the same way, consider adding CMD ["/bin/bash"] to the test stage in docker/Dockerfile as well, or remove it from Dockerfile.rocm if it's not needed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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 ."
Copy link

Copilot AI Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
- "docker build --file docker/Dockerfile.ci -t vllm-omni-ci --target test ."
- "docker build --file docker/Dockerfile -t vllm-omni-ci ."

Copilot uses AI. Check for mistakes.
@ZJY0516
Copy link
Collaborator

ZJY0516 commented Feb 6, 2026

@ZJY0516 when can we have an arm version?

If this CI has arm machine, then we can build fa3-fwd immediately. cc @tjtanaa

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>
@tjtanaa
Copy link
Contributor Author

tjtanaa commented Feb 6, 2026

@ZJY0516 There are arm CI agents.

queue: arm64_cpu_queue_postmerge

How long does it take to build fa3-fwd?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants