CI: build only job-targeted runtime platforms - #1781
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe change adds platform-specific CMake package targets, updates reusable environment setup and CI workflows to use them, propagates pod platform selection, verifies targeted packaging, and makes pip cache keys architecture-aware. ChangesTargeted platform build CI
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 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/_st-npu-a5.yml:
- Around line 62-66: Update the DEVICE_LIST construction in the “Run pytest
scene tests (a5)” step to invoke the virtual-environment interpreter at
.venv/bin/python instead of the unqualified python command, while preserving the
existing device-range parsing and task-submit arguments.
In `@tools/verify_packaging.sh`:
- Around line 105-109: Update the packaging workflow’s setup-venv dependency
specification to pin CMake as cmake>=3.15, matching pyproject.toml, and apply
the same version-bound CMake requirement to the remaining no-build-isolation
setup command(s) in the packaging flow.
🪄 Autofix
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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 21a20263-1204-48c2-b923-99055015dad1
📒 Files selected for processing (16)
.github/actions/cache-pip/action.yml.github/actions/pod-stage/action.yml.github/actions/setup-venv/action.yml.github/workflows/_pre-commit.yml.github/workflows/_profiling-flags-smoke.yml.github/workflows/_st-npu-a2a3.yml.github/workflows/_st-npu-a5.yml.github/workflows/_st-pod.yml.github/workflows/_st-sim-a2a3.yml.github/workflows/_st-sim-a5.yml.github/workflows/_ut-npu-a2a3.yml.github/workflows/_ut-npu-a5.yml.github/workflows/sanitizers.ymlCMakeLists.txtdocs/ci.mdtools/verify_packaging.sh
13baf71 to
b6268d6
Compare
- Select one non-cached aggregate CMake target per job so CMake schedules binding and runtime dependencies in parallel while later default installs remain unchanged. - Avoid unused or duplicate runtime builds in sim, onboard, pod, profiling, pre-commit, and sanitizer jobs. - Provision versioned no-build-isolation requirements and cover targeted-to-default package builds in the packaging matrix. - Drop the ineffective pre-commit CMake cache and reuse pip caches across source-only changes without changing coverage or job topology.
b6268d6 to
cf71b7d
Compare
Summary
cmake>=3.15for every--no-build-isolationpath and add a targeted-install to default-install packaging regression.Ordinary package installs still use the default
ALLtarget and auto-detect every available platform. Target selection is not stored in the CMake cache.Performance
Local cold-wheel measurements show the single-platform build path reducing fixed Package/CMake time by about 40-47% with four CPUs and 11-12% on the high-core host. A recent pre-commit run spent 92 seconds in the now-removed second runtime build.
The aggregate-target Ninja log confirms the binding and runtime dependency windows overlap; scikit-build-core receives one target and therefore performs one project build rather than serially iterating a target list. Final Job p50/p90 still needs validation on matching GitHub-hosted and self-hosted runner tiers.
Testing
a2a3simwheel followed by a default wheel in the same build directory; the default build addsa5simand no platform selection remains in CMake cachepre-commit run --from-ref upstream/main --to-ref HEADbash -n tools/verify_packaging.sh, andgit diff --checkNo NPU execution was needed for the local build validation.
Refs #1772