Skip to content

ci: run cargo deny on the cutile-rs workspace - #1621

Draft
roivanov wants to merge 2 commits into
NVIDIA:mainfrom
roivanov:ci/cutile-cargo-deny
Draft

roivanov wants to merge 2 commits into
NVIDIA:mainfrom
roivanov:ci/cutile-cargo-deny

Conversation

@roivanov

@roivanov roivanov commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Fixes #1620. cutile-rs/deny.toml was never executed, so an advisory in cutile-rs/Cargo.lock could not fail CI. This adds cargo deny --manifest-path cutile-rs/Cargo.toml --locked check to the cargo-deny workflow and to just check-guards. The walk starts at that manifest, so it uses cutile-rs/deny.toml rather than the Oxide policy.

The paper benchmark locks stay out. launch_overhead_rust patches its dependencies to a path outside this tree.

Why a separate workflow

The cutile-rs step inside cargo-deny.yml only runs when ci.yml runs. That caller's path filters are cuda-oxide/**, the shared host crates, the root Cargo.toml and Cargo.lock, and .github/workflows/**. A pull request that only changes cutile-rs/Cargo.lock, a Tile manifest, or cutile-rs/deny.toml never starts ci.yml, so the audit does not run. This pull request itself only reaches that step because it edits a workflow file.

Adding those Tile paths to ci.yml would also run formatting, clippy, and the unit tests. cutile-rs.yml is the wrong host too: its runners do not accept pull_request, and a path filter on the copy-pr-bot mirror push is dropped when GitHub reports that push as having no changed files.

cutile-cargo-deny.yml runs that one command on pull_request and on pushes to main, only for the Tile lock, Tile manifests, and cutile-rs/deny.toml. The repository status badge includes it, so a failure on main does not stay green. Paper locks match the path globs and are still not audited.

Depends on

#1619 has merged, which moves cutile-rs tokio from 1.52.1 to 1.54.1. This branch includes that commit, so the new step can pass.

Test plan

  • cargo deny --manifest-path cutile-rs/Cargo.toml --locked check passes
  • just check-guards runs the same command
  • A Tile-only lock or deny.toml change runs cutile-rs cargo-deny without starting ci.yml

@copy-pr-bot

copy-pr-bot Bot commented Oct 23, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@roivanov roivanov added ci GitHub Actions workflows, runners, and CI configuration supply-chain Dependency policy: licenses, sources, security advisories, lock files cutile-rs Tile programming model: cutile crates, compiler, macros, IR, kernels, and book labels Oct 23, 2026
cutile-rs/deny.toml was never executed, so an advisory in that lock could not fail CI.

Fixes NVIDIA#1620

Signed-off-by: Roman Ivanov <rivanov@nvidia.com>
@roivanov
roivanov force-pushed the ci/cutile-cargo-deny branch from a22ac18 to 8ab6f7f Compare October 23, 2026 17:54
@roivanov

Copy link
Copy Markdown
Collaborator Author

/ok to test 8ab6f7f

@roivanov
roivanov marked this pull request as ready for review October 23, 2026 19:14
@roivanov
roivanov marked this pull request as draft October 23, 2026 19:27
ci.yml's path filters skip cutile-rs, so a lock, manifest, or deny.toml change there never reached the new audit.

Signed-off-by: Roman Ivanov <rivanov@nvidia.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci GitHub Actions workflows, runners, and CI configuration cutile-rs Tile programming model: cutile crates, compiler, macros, IR, kernels, and book supply-chain Dependency policy: licenses, sources, security advisories, lock files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: run cargo deny on the cutile-rs workspace

1 participant