Skip to content

build(isolated-packages): add CI checks for isolated package builds#2002

Open
jayzhudev wants to merge 4 commits into
NVIDIA:mainfrom
jayzhudev:fix/direct-dep-features
Open

build(isolated-packages): add CI checks for isolated package builds#2002
jayzhudev wants to merge 4 commits into
NVIDIA:mainfrom
jayzhudev:fix/direct-dep-features

Conversation

@jayzhudev
Copy link
Copy Markdown
Contributor

Description

Some workspace crates only build because another crate happens to enable the dependency features they need. As a best practice, each crate should declare the dependency features it uses directly.

This PR adds a step to lint-police to check isolated package builds using xtask. It also fixes existing build issues by declaring implicitly used feature flags in individual packages.

Tradeoffs:

  • lint-police will take longer to finish because the new check runs cargo check --locked -p <package> for each workspace package.
  • The check runs in the last step in lint-police so faster lint failures are reported first.

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Related Issues

Closes #1949

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

## Description

Some workspace crates only build because another crate happens to
enable the dependency features they need. As a best practice, each
crate should declare the dependency features it uses directly.

This PR adds a step to lint-police to check isolated package builds
using `xtask`. It also fixes existing build issues by declaring
implicitly used feature flags in individual packages.

Tradeoffs:

- `lint-police` will take longer to finish because the new check runs
  `cargo check --locked -p <package>` for each workspace package.
- The check runs in the last step in `lint-police` so faster lint
  failures are reported first.

## Type of Change
<!-- Check one that best describes this PR -->
- [ ] **Add** - New feature or capability
- [ ] **Change** - Changes in existing functionality
- [x] **Fix** - Bug fixes
- [ ] **Remove** - Removed features or deprecated functionality
- [x] **Internal** - Internal changes (refactoring, tests, docs, etc.)

## Related Issues
Closes NVIDIA#1949

## Breaking Changes
- [ ] This PR contains breaking changes

## Testing
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [x] Manual testing performed
- [ ] No testing required (docs, internal refactor, etc.)

Signed-off-by: Jay Zhu <jayzhu@nvidia.com>
@jayzhudev jayzhudev self-assigned this May 29, 2026
@jayzhudev jayzhudev requested review from a team as code owners May 29, 2026 15:32
@jayzhudev
Copy link
Copy Markdown
Contributor Author

@NVIDIA/dsx-sw-cicd could you please review this PR when there's a chance? Thank you!

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.

build: missing direct dependency feature declarations

2 participants