Split CI tests for Numba-CUDA and MLIR#363
Conversation
📝 WalkthroughWalkthroughThis PR introduces multi-backend test infrastructure for MLIR and Numba-CUDA through path-based change detection, conditional CI job execution, backend-parameterized workflows, and runtime test branching. It also refactors module initialization to use lazy attribute loading, avoiding eager imports of backend-specific bindings. ChangesBackend test orchestration and execution
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 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 docstrings
🧪 Generate unit tests (beta)
Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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.yaml:
- Around line 15-54: The workflow jobs (e.g., test-conda-numba-cuda,
test-conda-mlir, build-wheels, test-wheels-numba-cuda, test-wheels-mlir)
currently use secrets: inherit and implicit token permissions; tighten them by
adding an explicit permissions: block at the top-level or per-job with only the
minimum required scopes (e.g., contents: read, packages: read/write if
publishing, id-token: write only if needed), and replace secrets: inherit with
explicit secret mappings (e.g., MY_PYPI_TOKEN: ${{ secrets.MY_PYPI_TOKEN }})
only for the secrets each reusable workflow actually requires; ensure each uses:
call includes the same minimal permissions/secrets mapping so the called
reusable workflows run with least privilege.
In @.github/workflows/pr.yaml:
- Around line 41-43: The checkout step currently uses actions/checkout@v6 with
fetch-depth: 0 but leaves credentials persisted; for security hardening add
persist-credentials: false to the checkout action configuration (the
actions/checkout@v6 step) so the job does not keep repo credentials after
checkout—update the checkout step options to include persist-credentials: false
alongside fetch-depth: 0.
🪄 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: ASSERTIVE
Plan: Enterprise
Run ID: 37b04301-e4e3-47b7-aa79-9647eb851c40
📒 Files selected for processing (12)
.github/workflows/ci.yaml.github/workflows/conda-python-test.yaml.github/workflows/pr.yaml.github/workflows/wheels-test.yamlci/detect_test_paths.pyci/run_tests.pyci/test_conda_python.shnumbast/pyproject.tomlnumbast/src/numbast/__init__.pynumbast/src/numbast/experimental/mlir/tests/conftest.pynumbast/src/numbast/experimental/mlir/tools/tests/test_symbol_exposure.pynumbast/src/numbast/tests/test_package_init.py
## Summary - update root `VERSION` to `0.10.0` - add `0.10.0` to `docs/versions.json` and `docs/nv-versions.json` for docs version picker support ## Changelog - Remove direct numba imports from MLIR backend (#365) - [codex] add numba-cuda-mlir support guide (#364) - Split CI tests for Numba-CUDA and MLIR (#363) - Migrate experimental MLIR backend (#346) - Bump test-summary/action from 2.4 to 2.6 in the actions-monthly group (#345) - [codex] Support POD struct array fields (#343) - fix(types,callconv): register CUDA vector ABI alignment (#321) ## Validation - `python -m json.tool docs/versions.json` - `python -m json.tool docs/nv-versions.json` - `git diff --check` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Version 0.10.0 released * Updated version references in documentation configuration files <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/NVIDIA/numbast/pull/367?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Michael Wang <isVoid@users.noreply.github.com>
Summary:
Testing:
Summary by CodeRabbit
New Features
Chores