-
Notifications
You must be signed in to change notification settings - Fork 744
ci: base container image change #4981
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe changes introduce optional CI registry support for container builds. A new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Poem
Pre-merge checks❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/actions/docker-build/action.yml (1)
150-150: Consider quoting the registry variable.While the current usage should work (registry hostnames typically don't contain spaces), it's a best practice to quote shell variables to prevent word splitting.
- --registry $REGISTRY \ + --registry "$REGISTRY" \
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/actions/docker-build/action.yml(2 hunks).github/workflows/container-validation-backends.yml(3 hunks)container/build.sh(4 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-12-02T18:13:40.065Z
Learnt from: PeaBrane
Repo: ai-dynamo/dynamo PR: 4698
File: .github/workflows/container-validation-dynamo.yml:68-68
Timestamp: 2025-12-02T18:13:40.065Z
Learning: In the ai-dynamo/dynamo repository, backend-specific tests (vllm, sglang, trtllm) are intentionally excluded from the container-validation-dynamo.yml workflow using "not (vllm or sglang or trtllm)" because they run in a separate container-validation-backends.yml workflow that has dedicated jobs for each backend. This separation keeps framework-agnostic tests separate from backend-specific tests.
Applied to files:
.github/workflows/container-validation-backends.yml
📚 Learning: 2025-06-24T21:58:17.757Z
Learnt from: julienmancuso
Repo: ai-dynamo/dynamo PR: 1623
File: deploy/cloud/helm/platform/values.yaml:48-52
Timestamp: 2025-06-24T21:58:17.757Z
Learning: In published Helm charts, it's a best practice to set `useKubernetesSecret: true` as the default for docker registry configuration while leaving server, username, and password fields empty. This ensures users must explicitly provide registry credentials at deployment time via `--set` flags or custom values files, rather than having sensitive data hardcoded in the chart repository.
Applied to files:
.github/workflows/container-validation-backends.yml
🧬 Code graph analysis (1)
container/build.sh (1)
container/run.sh (1)
missing_requirement(361-363)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: sglang (arm64)
- GitHub Check: operator (amd64)
- GitHub Check: vllm (arm64)
- GitHub Check: trtllm (arm64)
- GitHub Check: Build and Test - dynamo
🔇 Additional comments (7)
.github/workflows/container-validation-backends.yml (3)
172-172: LGTM: Consistent CI registry enablement across backends.The addition of
use_ci_registry: 'true'for vllm, sglang, and trtllm builds is consistent and aligns with the PR objective to reduce costs by using ECR instead of nvcr.io.
241-241: LGTM: Consistent with other backends.
303-303: LGTM: Consistent with other backends.container/build.sh (3)
331-339: LGTM: Standard option parsing pattern.The
--registryoption follows the established pattern used by other options in this script.
484-484: LGTM: Help text properly updated.
356-363: Registry substitution is correct.The string substitution logic properly replaces
nvcr.ioin all base image variables when--registryis provided. The conditional check ensures it only runs when REGISTRY is set. The logic handles ECR hostname formats correctly..github/actions/docker-build/action.yml (1)
55-57: LGTM: Input definition is appropriate.The optional
use_ci_registryinput follows the pattern of other optional inputs in this action.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Ran Rubin <ranrubin@gmail.com>
Overview:
This PR adds the ability to use out CI registry (ECR) instead of the default nvcr.io registry for base images during container builds. This should translate to a cost reduction.
Changes
container/build.sh: Added--registryflag to override the defaultnvcr.ioregistry in all base image URLs (TRTLLM, vLLM, SGLANG, NONE).github/actions/docker-build/action.yml: Addeduse_ci_registryinput parameter that sets the registry to ECR when enabled.github/workflows/container-validation-backends.yml: Enableduse_ci_registry: 'true'for backend validation buildsWhere should the reviewer start?
container/build.shSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.