Repository navigation
Use pnpm for slim release tarball and add smoke tests - #113
Conversation
Tests already run on every PR across all platforms (required check), so the release workflow no longer re-runs them. After building, node_modules is reinstalled with pnpm using forceIgnoresPlatform, which installs production deps only and includes the native bindings of all platforms (e.g. @node-usb/*) without a hardcoded package list. Tarball node_modules shrinks from ~197M to ~87M.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe release workflow removes the explicit USB platform binding installation. After integration tests, it sets up pnpm, imports the npm lockfile, and installs production dependencies before packaging. ChangesRelease workflow
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Merge Risk: ⚪ Minimal · up to The production dependency replacement has no established blocking defect and is mergeable subject to normal release checks. The final archive layout and binding contents have not been independently verified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change does not visibly increase release permissions or expose new secrets. Risk is low, but the final dependency bundle’s cross-platform completeness and recovery behavior have not been fully verified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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. Comment |
- Split release workflow into build, smoke-test and release jobs - Drop lint/tests from release (covered by test.yml on every PR) - Smoke test starts the shipped tarball on all 5 CI platforms and checks GET /version returns the new tag - Only create the tag/release after all smoke tests pass - Generate release notes from merged PRs since the last release - Skip dependency build scripts (they only target the build host) and strip node_modules/.bin symlinks from the tarball
Duplicating the 5-entry matrix in test.yml and release.yml is simpler than an extra reusable workflow job (also for required PR checks).
Tests already run on every PR across all platforms (required check), so the release workflow no longer re-runs them.
After building, node_modules is reinstalled with pnpm using forceIgnoresPlatform, which installs production deps only and includes the native bindings of all platforms (e.g. @node-usb/*) without a hardcoded package list. Tarball node_modules shrinks from ~197M to ~87M.
Summary by CodeRabbit