ci: shorten checks and release critical path - #263
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe CI workflow adds run cancellation and cache configuration. The publish workflow separates core and plugin packaging, publication, and registry verification. The plugin registry checker now performs asynchronous lookups in bounded batches, with tests covering concurrency and workflow structure. ChangesCI and release workflows
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Change: Other Sequence Diagram(s)sequenceDiagram
participant Package as package-plugins
participant Publish as per-plugin publication
participant Registry as npm registry
participant Verify as verify-plugins
Package->>Publish: provide plugin-packages artifact
Publish->>Registry: publish plugin and helper tarballs
Verify->>Registry: check published plugin installation
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No identified issue blocks merging after the normal checks. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to Release checks still run, but a successful core publication can now trigger plugin publication and creation of a release before the published core passes its full installation and runtime checks. A later failure cannot undo packages already published. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (2 skipped: 2 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. A rabbit checks the cache at dawn Comment |
Summary
Expected impact
Recent CI spent about 8 minutes in the uncached verify job and 5 minutes in optional plugin checks. Release runs also serialized roughly 1m45s of plugin packaging plus the full core registry smoke before plugin publication. This change targets those measured critical paths without removing release coverage.
Validation
Note
Medium Risk
Release ordering and job dependencies changed (tag before full smoke, GitHub Release after verification); mistakes could affect recovery via
skip_coreor when downstream publishes run, though regression tests document the intended graph.Overview
Speeds up CI and the release pipeline without dropping the same gates, mainly by caching, canceling stale runs, overlapping work, and splitting publish into verify/finalize steps.
CI skips the full suite on
.release/dispatch-patch-*marker commits, cancels superseded PR runs, and adds dedicated Rust/npm caches (including pinnedcargo-public-api0.52.0) onverifyandoptional-history-plugins.Release (
publish.yml) pushes the git tag right after a registry visibility wait; full core smoke (clean-install + older glibc CLI) runs in newverify-core, and GitHub Release creation moves tofinalize-coreonly after that passes. Plugin tarballs build inpackage-pluginsin parallel with core publish; two plugin families publish via a matrix job, with registry proof inverify-plugins. Crates.io, probe assets, and version persist wait on verified/finalized core.Scripts: plugin registry polling uses bounded concurrent
npm view(default 4) with async I/O;workflow-performance.test.mjslocks in the intended workflow graph.Reviewed by Cursor Bugbot for commit b071b58. Bugbot is set up for automated code reviews on this repo. Configure here.