Skip to content

Conversation

Aias00
Copy link
Contributor

@Aias00 Aias00 commented Oct 8, 2025

What type of PR is this?

enhance CI pipeline with improved caching and multi-arch support

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #359

Release Notes: Yes/No

@Aias00 Aias00 requested review from rootfs and Xunzhuo as code owners October 8, 2025 06:34
Copy link

netlify bot commented Oct 8, 2025

Deploy Preview for vllm-semantic-router ready!

Name Link
🔨 Latest commit 0a509b7
🔍 Latest deploy log https://app.netlify.com/projects/vllm-semantic-router/deploys/68e795dda55124000875981d
😎 Deploy Preview https://deploy-preview-360--vllm-semantic-router.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link

github-actions bot commented Oct 8, 2025

👥 vLLM Semantic Team Notification

The following members have been identified for the changed files in this PR and have been automatically assigned:

📁 Root Directory

Owners: @rootfs, @Xunzhuo
Files changed:

  • Dockerfile.extproc.cross
  • .github/workflows/docker-publish.yml
  • .github/workflows/k8s-integration-test.yml
  • .gitignore
  • Dockerfile.extproc

📁 candle-binding

Owners: @rootfs
Files changed:

  • candle-binding/Cargo.lock

vLLM

🎉 Thanks for your contributions!

This comment was automatically generated based on the OWNER files in the repository.

@rootfs
Copy link
Collaborator

rootfs commented Oct 8, 2025

@yuluo-yx @Xunzhuo PTAL, thanks

@rootfs rootfs requested a review from Copilot October 8, 2025 13:19
Copy link
Contributor

@Copilot 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 enhances the CI pipeline by improving Docker build caching strategies and adding multi-architecture build support. The changes optimize build times through better layer caching and provide flexible multi-arch builds that can be skipped for PR builds to speed up CI feedback.

  • Adds GitHub Actions cache integration for Docker builds with cache-from and cache-to directives
  • Implements conditional multi-architecture support that skips arm64 builds for PRs while maintaining full multi-arch for releases
  • Optimizes Dockerfile layers by separating dependency downloads from source code copying

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
Dockerfile.extproc Optimizes build layers with separate Go dependency download step and adds build optimizations
.github/workflows/docker-publish.yml Adds GitHub Actions caching, conditional multi-arch builds, and PR trigger paths

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

- name: Set build parameters
id: build-params
run: |
# Skip multi-arch for PRs to speed up CI, unless explicitly disabled
Copy link

Copilot AI Oct 8, 2025

Choose a reason for hiding this comment

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

The comment is misleading. The logic actually skips multi-arch for PRs unless explicitly enabled (when skip_multiarch is false), not 'unless explicitly disabled'.

Suggested change
# Skip multi-arch for PRs to speed up CI, unless explicitly disabled
# Skip multi-arch for PRs to speed up CI, unless explicitly enabled

Copilot uses AI. Check for mistakes.

cache-to: type=gha,mode=max
build-args: |
BUILDKIT_INLINE_CACHE=1
CARGO_BUILD_JOBS=4
Copy link

Copilot AI Oct 8, 2025

Choose a reason for hiding this comment

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

Hard-coding CARGO_BUILD_JOBS to 4 may not be optimal for all runner types. Consider using a dynamic value based on available CPU cores, such as CARGO_BUILD_JOBS=${{ github.event_name == 'pull_request' && '2' || '4' }}.

Suggested change
CARGO_BUILD_JOBS=4
CARGO_BUILD_JOBS=${{ github.event_name == 'pull_request' && '2' || '4' }}

Copilot uses AI. Check for mistakes.

@Aias00
Copy link
Contributor Author

Aias00 commented Oct 8, 2025

@yuluo-yx @Xunzhuo PTAL, thanks

hi, this pr is still in working

Aias00 added 14 commits October 9, 2025 09:38
@Aias00
Copy link
Contributor Author

Aias00 commented Oct 9, 2025

@rootfs Hi, I believe I have completed this task. The build duration of the ARM architecture Docker image has been reduced to 20 minutes. I attempted to push a Docker image as part of the pull request workflow, but the PR does not have the necessary permissions to push images. If you have a moment, could you please review it again?
image

@rootfs
Copy link
Collaborator

rootfs commented Oct 9, 2025

@Aias00 thanks! merging it now for image build

@rootfs rootfs merged commit 78f74cc into vllm-project:main Oct 9, 2025
20 checks passed
Copy link
Contributor

Choose a reason for hiding this comment

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

hi @Aias00 Why submit this document?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cargo.lock enables Docker layer caching optimization by ensuring deterministic dependency resolution. When Cargo.lock remains unchanged between builds, Docker can reuse the cached dependency compilation layer, significantly reducing build times from ~6.5 minutes to ~1.2 minutes for source code changes.

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.

docker publish CI time issue
4 participants