Skip to content

fix(release): register instance-cluster-management as a release subproject - #650

Closed
balajinvda wants to merge 1 commit into
mainfrom
fix/register-icms-subproject
Closed

fix(release): register instance-cluster-management as a release subproject#650
balajinvda wants to merge 1 commit into
mainfrom
fix/register-icms-subproject

Conversation

@balajinvda

@balajinvda balajinvda commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Why

main is red and has been since #595 merged.

ICMS was imported in #573 carrying a bazel-java-ci.json that declares "component_kind": "java-service". #595 then added the assertion that every java-service must be a registered release subproject, and ICMS never was:

test_java_ci_components_match_registered_subprojects
AssertionError: 'src/control-plane-services/instance-cluster-management' not found in {...}

Neither PR was wrong on its own. The invariant #595 introduced is violated by code #573 had already landed.

What changed

One entry in tools/ci/github-release-subprojects.json. service_name is icms-service-oss, matching the DOCKER_IMAGE_NAME its pre-Bazel CI published, and matching the release config registered on the nvcf-internal side in that repo's !110.

Testing

python3 tools/ci/test-github-release.py -> 20 tests, OK. It fails on main without this change.

Notes

This is the source half. The nvcf-internal half (destinations, promote config) merged separately; the two together are what let ICMS actually release.

Summary by CodeRabbit

  • Chores
    • Added the instance cluster management service to the release configuration.
    • Release automation can now recognize and publish releases for this service using its designated source path and release service name.

@balajinvda
balajinvda requested a review from a team as a code owner August 4, 2026 02:03
@coderabbitai

coderabbitai Bot commented Aug 4, 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: e6a7881e-3a0d-4889-bc9e-344aea589ae2

📥 Commits

Reviewing files that changed from the base of the PR and between 1fe5a7f and 44c50e7.

📒 Files selected for processing (1)
  • tools/ci/github-release-subprojects.json

📝 Walkthrough

Walkthrough

The pull request adds instance-cluster-management to the GitHub release configuration with its source path and release service name.

Changes

Release service registration

Layer / File(s) Summary
Add instance cluster management release entry
tools/ci/github-release-subprojects.json
The configuration adds instance-cluster-management with path src/control-plane-services/instance-cluster-management and service name icms-service-oss.

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

Suggested reviewers: famousdirector

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title uses fix, but the change only updates CI release-subproject configuration in tools/ci. Change the title to ci(release): register instance-cluster-management as a release subproject.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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/register-icms-subproject

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

…oject

main has been red since #595. ICMS was imported in #573 with a
bazel-java-ci.json declaring component_kind java-service, and #595 then added
the assertion that every java-service must be a registered release subproject:

  AssertionError: 'src/control-plane-services/instance-cluster-management'
  not found in {...}

Neither PR was wrong on its own; the invariant #595 introduced is violated by
code #573 had already landed.

service_name is icms-service-oss, matching the DOCKER_IMAGE_NAME its pre-Bazel
CI published and the nvcf-internal release config registered in that repo's
!110.

Co-authored-by: Balaji Ganesan <bganesan@nvidia.com>
@balajinvda
balajinvda force-pushed the fix/register-icms-subproject branch from 1fe5a7f to 44c50e7 Compare August 4, 2026 02:06

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
tools/ci/github-release-subprojects.json (1)

220-223: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Extend the Java registration assertion to cover the complete entry. test_java_ci_components_match_registered_subprojects already covers this service's registered path. Add an equality assertion for id, path, and service_name, or reference that test in the PR description if path-only coverage is sufficient.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/ci/github-release-subprojects.json` around lines 220 - 223, Update
test_java_ci_components_match_registered_subprojects to assert the complete
instance-cluster-management registration, including matching id, path, and
service_name for icms-service-oss; only leave path-only coverage if the PR
description explicitly references and justifies it.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@tools/ci/github-release-subprojects.json`:
- Around line 220-223: Update
test_java_ci_components_match_registered_subprojects to assert the complete
instance-cluster-management registration, including matching id, path, and
service_name for icms-service-oss; only leave path-only coverage if the PR
description explicitly references and justifies it.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 3b97d602-9dfb-4383-ad5d-dc8008a55796

📥 Commits

Reviewing files that changed from the base of the PR and between 892b704 and 1fe5a7f.

📒 Files selected for processing (1)
  • tools/ci/github-release-subprojects.json

@sanjay-saxena sanjay-saxena 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

Copy link
Copy Markdown
Contributor Author

Superseded by #628, closing.

2c6475b0 ("chore(icms): remove unused test fixtures") added the same instance-cluster-management entry to tools/ci/github-release-subprojects.json while this sat awaiting review. Both PRs append to the same array, which is the conflict. Rebasing would only re-add an entry that already exists.

Verified main is green on the assertion this was opened to fix: python3 tools/ci/test-github-release.py -> 20 tests, OK.

The only difference between the two entries is service_name: main uses nvcf-instance-cluster-management, this used icms-service-oss. Main's value is correct to keep. That field is a selector and the semantic-release package name (tools/ci/github-release lines 153, 383, 749); it is not the image name, which lives in nvcf-internal's images[].name and is icms-service-oss there, unaffected by this.

@balajinvda balajinvda closed this Aug 4, 2026
auto-merge was automatically disabled August 4, 2026 14:13

Pull request was closed

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