Skip to content

fix(platform-plugin): declare the filesets dependency the package imports - #2044

Closed
maxdubrinsky wants to merge 1 commit into
mainfrom
platform-plugin-declare-filesets/mdubrinsky
Closed

maxdubrinsky wants to merge 1 commit into
mainfrom
platform-plugin-declare-filesets/mdubrinsky

Conversation

@maxdubrinsky

@maxdubrinsky maxdubrinsky commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

nemo_platform_plugin.jobs.result_manager imports filesets, but nemo-platform-plugin only bundles it at wheel-build time and never declares it as a dependency. A workspace sync scoped to one package (uv run --package nemo-deployments-plugin ...) therefore has no filesets module, and importing nemo_platform_plugin.discovery fails with ModuleNotFoundError. This declares the dependency.

Changes

  • packages/nemo_platform_plugin/pyproject.toml: add filesets (workspace source) to dependencies.
  • packages/nemo_platform/pyproject.toml: the generated nemo-platform-plugin extra picks up filesets (output of make vendor, which lint-sdk-vendored enforces).
  • uv.lock: the resulting edges, locked with uv 0.9.14 via script/uv-lock.sh.

The path-filtered "Deployments OpenShell backend tests" job is the first CI job to sync a single package since the import landed in #1137, which is why main never surfaced it. It fails today on #1956 for this reason.

The built wheel is unchanged: the bundler rewrites the new requirement into the nemo-platform-plugin[nemo-platform-sdk] extra it already emits, and Requires-Dist metadata is byte-identical before and after.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with documentation updates
  • Documentation only
  • Contributor tooling or automation
  • CI, build, or test infrastructure

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification: make test-deployments-openshell is the failing check and now passes (test_openshell_profile_is_discoverable imports nemo_platform_plugin.discovery in the scoped env).
  • Tests not applicable — justification:
  • Documentation updated for user-visible behavior
  • Documentation not applicable — justification: packaging metadata only, no behavior change for users.

Verification

  • Pull request title follows the repository's Conventional Commit format
  • Every commit includes an appropriate Signed-off-by: trailer
  • uv run pre-commit run -a passes, or any blocked checks are identified below
  • Targeted tests pass, or tests are marked not applicable above
  • No secrets, API keys, or credentials are included

Targeted validation:

Summary by CodeRabbit

  • Chores
    • Added the filesets dependency and configured it as a workspace source.
    • Updated optional project configuration to make filesets available where supported.

@github-actions github-actions Bot added the fix label Sep 14, 2026
@maxdubrinsky
maxdubrinsky marked this pull request as ready for review September 14, 2026 18:13
@maxdubrinsky
maxdubrinsky requested review from a team as code owners September 14, 2026 18:13
@coderabbitai

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview 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: be220c22-8790-4298-ad97-71057dd9a5db

📥 Commits

Reviewing files that changed from the base of the PR and between 9e2fce5 and bb70b92.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • packages/nemo_platform/pyproject.toml

Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review.


📝 Walkthrough

Walkthrough

The plugin now declares filesets as a runtime dependency, resolves it from the workspace, and includes it in the bundled dependency group.

Changes

Filesets dependency registration

Layer / File(s) Summary
Register filesets dependency
packages/nemo_platform_plugin/pyproject.toml, packages/nemo_platform/pyproject.toml
Adds filesets to runtime dependencies, configures workspace resolution, and includes it in the nemo-platform-plugin bundled dependency group.

Suggested reviewers: mckornfield

Priority: ➖ Normal

Change: Bug fix

Merge Risk: ⚪ Minimal · up to bb70b

Filesets is available in workspace installs and bundled wheel builds without a concrete merge-blocking issue.

🚥 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 clearly and concisely describes the main change: declaring the filesets dependency required by nemo-platform-plugin imports.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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 platform-plugin-declare-filesets/mdubrinsky

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

@github-actions

github-actions Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 44179/56157 78.7% 62.2%
Integration Tests 27517/53426 51.5% 22.7%

…orts

nemo_platform_plugin.jobs.result_manager imports filesets, but nemo-platform-plugin
only bundled it at wheel-build time and never declared it. A workspace sync scoped
to one package (uv run --package nemo-deployments-plugin) therefore had no filesets
module, and importing nemo_platform_plugin.discovery failed with
ModuleNotFoundError. The path-filtered "Deployments OpenShell backend tests" CI job
is the first to run that way since the import landed in #1137, which is why main
never saw it.

The nemo-platform metapackage's generated nemo-platform-plugin extra picks up the
same dependency via make vendor. The built plugin wheel is unchanged: the bundler
rewrites the new requirement into the nemo-platform-plugin[nemo-platform-sdk] extra
it already emits.

Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
@maxdubrinsky
maxdubrinsky force-pushed the platform-plugin-declare-filesets/mdubrinsky branch from 9e2fce5 to bb70b92 Compare September 14, 2026 18:40
@github-actions

Copy link
Copy Markdown
Contributor

This PR has had no activity for 30 days. It will be closed after another 7 days without activity. Please comment or push an update if you plan to continue. Maintainers can add keep-open for work that is intentionally paused or waiting on review.

@github-actions github-actions Bot added the stale Pull request inactive for 60 days label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Closing this PR after 7 additional days without activity. Please reopen it when you're ready to continue.

@github-actions github-actions Bot closed this Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix stale Pull request inactive for 60 days

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant