Skip to content

fix(worker-llm-credentials): add subtree .bazelrc so the release image builds#432

Merged
balajinvda merged 1 commit into
mainfrom
fix/worker-llm-credentials-bazelrc
Jul 24, 2026
Merged

fix(worker-llm-credentials): add subtree .bazelrc so the release image builds#432
balajinvda merged 1 commit into
mainfrom
fix/worker-llm-credentials-bazelrc

Conversation

@Max-NV

@Max-NV Max-NV commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Why

The worker-llm-credentials release image build (nvcf-internal) fails:

[bazel-release-build] building nvcf-worker-llm-credentials-oss with //cmd:image_index
ERROR: Config value 'release' is not defined in any .rc file

The release image is built from an isolated subtree snapshot cloned at the subtree tag, which does not carry the umbrella .bazelrc (where build:release and --@rules_go//go/config:pure live). Every other releasable subtree (nvca, worker-init, worker-utils, image-credential-helper, ...) ships its own .bazelrc; worker-llm-credentials was the only one missing it. The full-mono bazel CI passes because it uses the root .bazelrc, so this only surfaces at release build time. It was exposed by the first fix: to cut a release for this subtree.

What changed

Add src/compute-plane-services/worker-llm-credentials/.bazelrc, mirroring the sibling Go services: bzlmod, pure Go (for the distroless_go static base), workspace stamping (tools/workspace_status.sh), and the release/debug/ci config profiles. Proto-toolchain lines are omitted since this service declares no protobuf module and has no proto targets.

Customer Release Notes

Not customer visible.

Testing

Flags reference only native Bazel and rules_go (declared in this subtree's MODULE.bazel), and tools/workspace_status.sh exists. The isolated release-snapshot build cannot be reproduced locally (subtree dep resolution needs the CI proxy); the nvcf-internal release build validates it. A new release tag will pick up this file plus the already-merged worker-token change.

References

None

Summary by CodeRabbit

  • Chores
    • Added standardized Bazel build and test configuration.
    • Introduced CI, debug, and release build profiles.
    • Improved build reproducibility, caching, environment handling, and release binary optimization.

…e builds

The release image is built from the isolated worker-llm-credentials subtree
snapshot, which does not carry the umbrella .bazelrc. Without a subtree
.bazelrc the release build fails with "Config value 'release' is not defined
in any .rc file", and it would not build pure-Go for the distroless_go base.
Every other releasable subtree ships its own .bazelrc; this one was missing.

Add it, mirroring the sibling Go services (release/debug/ci profiles, pure Go,
workspace stamping), minus the proto lines this service does not use.

NO-REF
@Max-NV
Max-NV requested a review from a team as a code owner July 24, 2026 20:55
@Max-NV
Max-NV requested a review from estroz July 24, 2026 20:55
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 61c7ad62-df64-48bd-bc44-41be319b903f

📥 Commits

Reviewing files that changed from the base of the PR and between 698e3e9 and f8a3214.

📒 Files selected for processing (1)
  • src/compute-plane-services/worker-llm-credentials/.bazelrc

📝 Walkthrough

Walkthrough

Adds a Bazel configuration for the LLM credentials worker, including global build and test settings, JVM and Go options, workspace stamping, and CI, debug, and release profiles.

Changes

Bazel configuration

Layer / File(s) Summary
Worker Bazel build profiles
.bazelrc
Adds global Bazel build/test behavior, JVM heap settings, pure-Go rules configuration, workspace status stamping, and CI, debug, and stripped release profiles.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: estroz

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title follows Conventional Commits and accurately describes a build-related fix for the subtree release image.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/worker-llm-credentials-bazelrc

Comment @coderabbitai help to get the list of available commands.

@Max-NV
Max-NV requested review from balajinvda and kristinapathak and removed request for estroz July 24, 2026 21:00
@Max-NV Max-NV self-assigned this Jul 24, 2026

@balajinvda balajinvda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm

@balajinvda
balajinvda added this pull request to the merge queue Jul 24, 2026
Merged via the queue into main with commit 93945f6 Jul 24, 2026
15 checks passed
@balajinvda
balajinvda deleted the fix/worker-llm-credentials-bazelrc branch July 24, 2026 22:05
@balajinvda

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version nvcf-worker-llm-credentials-v1.0.7 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

vrv3814 pushed a commit to mesutoezdil/nvcf that referenced this pull request Jul 25, 2026
)

The release image is built from an isolated subtree snapshot, where the
subtree's own MODULE.bazel is the workspace root, so bazelisk resolves
.bazelversion from the subtree and never sees the umbrella's root pin. The
four worker subtrees ship no .bazelversion, so their release builds run
whatever bazelisk considers latest: the worker-llm-credentials v1.0.6 release
build downloaded Bazel 9.2.0 while the repo pins 9.1.1 and the other 15
releasable subtrees pin their own version.

That makes those builds non-reproducible and lets an upstream Bazel release
break them with no change in this repo. Pin all four to 9.1.1, matching the
root .bazelversion.

Same root cause as the missing subtree .bazelrc fixed in NVIDIA#432 (the snapshot
does not carry umbrella root files); that PR covers .bazelrc for
worker-llm-credentials only, so .bazelversion is still needed for all four.

Verified: worker-utils builds clean under USE_BAZEL_VERSION=9.1.1
(bazel build //..., 2115 actions).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants