Add CI: Rust and Python test workflows - #8
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughTwo GitHub Actions workflows are added: ChangesCI Workflows
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In @.github/workflows/ci_rust.yml:
- Line 32: The pinned SHAs for the GitHub workflow actions do not match their
stated version tags. For the actions/checkout action, update the pinned SHA from
the current value to df4cb1c069e1874edd31b4311f1884172cec0e10 which corresponds
to the v6 tag. For the Swatinem/rust-cache action, update the pinned SHA to
23869a5bd66c73db3c0ac40331f3206eb23791dc which corresponds to the v2.9.1 tag.
Alternatively, if these older commits are intentionally being used as
pre-release versions, remove the version comments to avoid confusion between the
pinned SHA and the claimed version.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: c90af9a9-dee3-4750-aa23-520d74795997
📒 Files selected for processing (2)
.github/workflows/ci_python.yml.github/workflows/ci_rust.yml
28688d6 to
dfb73c3
Compare
The repo had a test suite but nothing ran it on PRs. Add two minimal, single-platform workflows (mirroring nemo-relay's Rust/Python split and pinned action SHAs): - ci_rust.yml: cargo fmt --check, cargo check -p fabric-python, and cargo test --workspace (which includes the schema-snapshot contract checks). - ci_python.yml: build the native extension, then run the dependency-free smokes. Both trigger on pull_request and push to main and need no secrets. Gated integration smokes and the flaky smoke_sdk_concurrency are excluded. Signed-off-by: Ajay Thorve <athorve@nvidia.com>
smoke_hermes_config_mapping imports yaml, which is not a project dependency, so the clean CI venv lacked it. Install pyyaml alongside the editable build. Signed-off-by: Ajay Thorve <athorve@nvidia.com>
The runtime_id collision that made this smoke flaky is fixed (process id is now part of every generated id), so it runs reliably. Add it back to the CI smoke set. Signed-off-by: Ajay Thorve <athorve@nvidia.com>
dfb73c3 to
ea07130
Compare
Adds two GitHub Actions workflows so the existing test suite runs on PRs:
ci_rust.yml—cargo fmt --check,cargo check -p fabric-python, andcargo test --workspace(which includes the schema-snapshot checks that guard the public contract).ci_python.yml— builds the native extension, then runs the dependency-free smokes (smoke_cli,smoke_sdk,smoke_native_sdk,smoke_hermes_cli,smoke_hermes_config_mapping,smoke_swebench_style,smoke_local_env_e2e,smoke_environment_handle).Why
The repo had a test suite but nothing ran it on PRs, so contract/schema drift could merge unnoticed. Both workflows are single-platform (ubuntu-latest), need no secrets, and mirror nemo-relay's Rust/Python split and pinned action SHAs.
Triggers
pull_request+pushtomain. No secrets are required, so the checks report directly on the PR (unlike the docs workflow, which uses copy-pr-bot mirror branches forFERN_TOKEN).Excluded
smoke_hermes_sdk,smoke_relay_integration,smoke_harbor_*) — they needNVIDIA_API_KEY/ a running Hermes / a sibling harbor checkout.smoke_sdk_concurrency— currently flaky (two concurrent runs can collide onruntime_id); excluded until that is fixed.Verified locally
All included checks pass (
cargo fmt/check/test --workspacegreen; all 8 smokes pass).Resolves FABRIC-32
Summary by CodeRabbit