Skip to content

[CI/Build] add directions for CPU image upload to Docker Hub#32032

Merged
bigPYJ1151 merged 2 commits intovllm-project:mainfrom
nathan-weinberg:publish-cpu-container
Feb 3, 2026
Merged

[CI/Build] add directions for CPU image upload to Docker Hub#32032
bigPYJ1151 merged 2 commits intovllm-project:mainfrom
nathan-weinberg:publish-cpu-container

Conversation

@nathan-weinberg
Copy link
Copy Markdown
Contributor

@nathan-weinberg nathan-weinberg commented Jan 9, 2026

Purpose

It was suggested to me in #31749 to extend any CPU images off a base, but these base images are only put on ECR and not Docker Hub, where other public production images are hosted. While CPU images should not be used for production usage, they can be very good for CI and Developer usage.

This commit updates the annotate-release.sh script with directions on how to properly tag and upload these CPU images to Docker Hub

Test Plan

Unfortunately I do not have the permissions or access to test this, thought I'm happy to perform any desired validations within my control


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 in the Google Doc.

Note

Publishes CPU release images to Docker Hub as part of the release pipeline, covering both architectures and multi-arch manifests.

  • New manual block in .buildkite/release-pipeline.yaml to trigger CPU image publishing
  • Build steps for x86_64 and arm64 CPU images with ECR push, Docker Hub tagging/pushing, and commit/version tags (e.g., $BUILDKITE_COMMIT-x86_64, v${release}-cpu-*)
  • Creates v${release}-cpu and latest-cpu multi-arch manifests on Docker Hub
  • Uses docker-login plugin with Docker Hub credentials for publishing
  • Updates .buildkite/scripts/annotate-release.sh to document CPU image tags and provide manual publish commands

Written by Cursor Bugbot for commit e1e27e3cb050d8eb2c9f8b4fef63ce818ad263a0. This will update automatically on new commits. Configure here.


Note

Cursor Bugbot is generating a summary for commit 45fd42d9b299baf45ee1dbe4728a58e5301f1092. Configure here.

@mergify mergify bot added the ci/build label Jan 9, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the release pipeline to build and publish multi-architecture (x86_64 and arm64) CPU images to Docker Hub for each release. The changes are a good step towards providing official CPU base images. I've identified a critical issue with an invalid build argument in the arm64 build step and a high-severity inconsistency in the manual release annotation script which could cause manual steps to fail. Applying these suggestions will improve the correctness and robustness of the release process.

Copy link
Copy Markdown
Contributor

@fadara01 fadara01 left a comment

Choose a reason for hiding this comment

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

Great work! Hosting CPU images on dockerhub is great step for improving CPU Backend UX.

I added some comments that we should address before moving forward with this.

@fadara01
Copy link
Copy Markdown
Contributor

cc: @bigPYJ1151

@ktdreyer
Copy link
Copy Markdown

LGTM (untested).

Curious to know if these CPU instruction issues will persist if/when opendatahub-io/llama-stack-distribution#203 merges

Copy link
Copy Markdown
Contributor

@fadara01 fadara01 left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@bigPYJ1151 could you please have a look?

@mergify
Copy link
Copy Markdown

mergify bot commented Jan 19, 2026

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @nathan-weinberg.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@bigPYJ1151
Copy link
Copy Markdown
Member

Hi @nathan-weinberg Thanks for your efforts and sorry for the delay as I'm busy on other things recently.

Right now all regular released images are manually uploaded to the hub. So I think we can just add CPU image upload instructions to the buildkite annotation as other images. I'll ask for creating a new namespace vllm/vllm-openai-cpu and uploading the latest version to it.

For the auto uploading, I think we'd better support it for all images to keep consistant. If you are interests on this please open a new PR and ask for review from CI maintainers.

@nathan-weinberg
Copy link
Copy Markdown
Contributor Author

Hi @nathan-weinberg Thanks for your efforts and sorry for the delay as I'm busy on other things recently.

No worries at all 😄

Right now all regular released images are manually uploaded to the hub. So I think we can just add CPU image upload instructions to the buildkite annotation as other images. I'll ask for creating a new namespace vllm/vllm-openai-cpu and uploading the latest version to it.

For the auto uploading, I think we'd better support it for all images to keep consistant. If you are interests on this please open a new PR and ask for review from CI maintainers.

Not opposed to any of this, but I admit I'm a bit lost in terms of what this means in terms of concrete actions I should take. It seems the former is something that can be done by removing some aspects of the PR and the latter would be a more holistic PR targeted towards moving all images to be auto-mirrored to Docker Hub.

If I'm correct, please provide a code review when time permits for you so I have a better understanding as to what you would like to be kept in this PR and what you would like to defer to a followup. Thank you 🙏

@mergify
Copy link
Copy Markdown

mergify bot commented Jan 26, 2026

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @nathan-weinberg.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify bot added the needs-rebase label Jan 26, 2026
@nathan-weinberg nathan-weinberg changed the title [CI/Build] Publish CPU images for each release [CI/Build] add directions for CPU image upload to Docker Hub Jan 27, 2026
@mergify mergify bot removed the needs-rebase label Jan 27, 2026
@mergify
Copy link
Copy Markdown

mergify bot commented Jan 30, 2026

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @nathan-weinberg.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

nathan-weinberg and others added 2 commits February 1, 2026 18:36
vLLM builds CPU images, but these are only put on ECR
and not Docker Hub, where other public production images
are hosted. While CPU images should not be used for
production usage, they can be very good for CI and Developer
usage.

This commit updates the 'annotate-release.sh' script
with directions on how to properly tag and upload
these CPU images to Docker Hub

Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
Co-authored-by: Li, Jiang <bigpyj64@gmail.com>
Signed-off-by: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com>
Copy link
Copy Markdown
Member

@bigPYJ1151 bigPYJ1151 left a comment

Choose a reason for hiding this comment

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

Hi @nathan-weinberg Thanks for your effort and patient. x86 and arm images will be uploaded to the hub starts from 0.16.0

@bigPYJ1151 bigPYJ1151 enabled auto-merge (squash) February 3, 2026 02:37
@github-actions github-actions bot added the ready ONLY add when PR is ready to merge/full CI is needed label Feb 3, 2026
@bigPYJ1151 bigPYJ1151 merged commit 1b60b45 into vllm-project:main Feb 3, 2026
12 checks passed
@nathan-weinberg nathan-weinberg deleted the publish-cpu-container branch February 3, 2026 04:17
@nathan-weinberg
Copy link
Copy Markdown
Contributor Author

Thank you for your reviews @bigPYJ1151 and @fadara01!

PiratePai pushed a commit to PiratePai/epd_shm that referenced this pull request Feb 3, 2026
…oject#32032)

Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
Signed-off-by: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com>
Co-authored-by: Li, Jiang <bigpyj64@gmail.com>
Signed-off-by: Pai <416932041@qq.com>
PiratePai pushed a commit to PiratePai/epd_shm that referenced this pull request Feb 3, 2026
…oject#32032)

Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
Signed-off-by: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com>
Co-authored-by: Li, Jiang <bigpyj64@gmail.com>
Signed-off-by: Pai <416932041@qq.com>
gameofdimension pushed a commit to gameofdimension/vllm that referenced this pull request Feb 5, 2026
…oject#32032)

Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
Signed-off-by: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com>
Co-authored-by: Li, Jiang <bigpyj64@gmail.com>
Signed-off-by: felix01.yu <felix01.yu@vipshop.com>
cluster2600 added a commit to cluster2600/vllm that referenced this pull request Feb 19, 2026
… ECR

CPU images for vLLM are now published to Docker Hub as part of the
release pipeline (PR vllm-project#32032). Update the x86 and ARM CPU installation
docs to reference the Docker Hub images instead of the AWS ECR images.

Docker Hub image repository: vllm/vllm-openai-cpu
- x86_64: vllm/vllm-openai-cpu:latest (multi-arch) or :latest-x86_64
- ARM64:  vllm/vllm-openai-cpu:latest-arm64
- Versioned: vllm/vllm-openai-cpu:v<VERSION>

Fixes vllm-project#33708
cluster2600 added a commit to cluster2600/vllm that referenced this pull request Feb 19, 2026
… ECR

CPU images for vLLM are now published to Docker Hub as part of the
release pipeline (PR vllm-project#32032). Update the x86 and ARM CPU installation
docs to reference the Docker Hub images instead of the AWS ECR images.

Docker Hub image repository: vllm/vllm-openai-cpu
- x86_64: vllm/vllm-openai-cpu:latest (multi-arch) or :latest-x86_64
- ARM64:  vllm/vllm-openai-cpu:latest-arm64
- Versioned: vllm/vllm-openai-cpu:v<VERSION>

Fixes vllm-project#33708

Signed-off-by: Maxime Grenu <69890511+cluster2600@users.noreply.github.com>
ItzDEXX pushed a commit to ItzDEXX/vllm that referenced this pull request Feb 19, 2026
…oject#32032)

Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
Signed-off-by: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com>
Co-authored-by: Li, Jiang <bigpyj64@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants