Repository navigation
fix(packaging): complete SDK and Homebrew release checks - #39
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 48 minutes. View limit details
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Runtime smoke target checks scripts/node-sdk-runtime-smoke.cjs, tests/node-sdk-runtime-smoke.test.ts |
The smoke test checks that the requested target matches the current Node.js platform and architecture. Tests use native targets and shared process timeouts. |
Tarball assembly and native preflight .github/workflows/images-release.yml, README.md, docs/packaging-readiness-scorecard.md, docs/publishing.md, docs/release-checklist.md, tests/release-workflow.test.ts, tests/node-sdk-runtime-smoke.test.ts |
The package job assembles one tarball. A matrix of native runners installs that artifact and runs the smoke test before publication. |
Readiness results and release contract .github/workflows/images-release.yml, TODO.md, docs/release-checklist.md, docs/release-079-compatibility.md, tests/release-workflow.test.ts |
Readiness records npm package and preflight results and requires enabled npm checks to succeed. The release contract and tests cover these requirements. |
Homebrew formula validation
| Layer / File(s) | Summary |
|---|---|
Formula trust, integrity, and process cleanup .github/workflows/images-release.yml, packaging/homebrew/Formula/mesh-llm.rb.template, tests/homebrew-release.test.ts, docs/release-079-compatibility.md |
The workflow trusts the generated formula before audit. The formula test verifies the installed host digest and bounds TERM/KILL cleanup after a shutdown timeout. |
Estimated code review effort: 3 (Moderate) | ~25 minutes
Change: Bug fix
Sequence Diagram(s)
sequenceDiagram
participant Package as node-sdk-package
participant Runners as Native preflight runners
participant Readiness as Release readiness
participant Publish as npm publication
Package->>Runners: Upload one assembled tarball
Runners->>Runners: Install tarball and run target-specific smoke test
Runners->>Readiness: Record package and preflight results
Runners->>Publish: Successful preflight results gate publication
Possibly related issues
- Mesh-LLM/mesh-packaging#37 — This PR implements portions of the issue’s packaging acceptance and readiness requirements for npm and Homebrew validation.
Possibly related PRs
- Mesh-LLM/mesh-packaging#38 — Both PRs update the Node SDK release path and runtime smoke flow; this PR relies on the
Node.fromConfiglifecycle contract introduced there.
Suggested reviewers: i386
Merge Risk: 
Minimal · previous review c2747
-
No confirmed merge-blocking issue remains. Live native-runner and Homebrew validation are still pending.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passed-
Full details: Title check
-
Explanation
The title is conventional-commit formatted and names the two main areas changed: SDK release checks and Homebrew release checks. The changeset covers both. The npm preflight job, the assembled-tarball install and smoke tests, the readiness gating, and the Homebrew formula trust, manifest digest verification, and bounded TERM/KILL cleanup all match the title's scope. The title does not name the specific mechanism, but it describes a real and primary change without being vague.
-
Full details: Docstring Coverage
-
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 2 functions across 4 files. (8 skipped: 8 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches
-
Generate docstrings
-
- Commit to this branch
- Create a new PR
Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
Release validation now installs the assembled Node SDK tarball on every selected native platform, including macOS ARM64, Linux ARM64/x64, and Windows x64. It requires a successful client start, status check, and bounded shutdown before npm publication. Previously, only Linux x64 exercised that lifecycle; a filtered run for another target could succeed without starting the SDK.
The Homebrew validation job now explicitly trusts its generated formula before audit and installation. The real preview rehearsal exposed Homebrew 7 rejecting that formula as untrusted. Trust applies only to the generated formula, preserving the checks for other tap contents.
The Homebrew test compares the installed host with its product-manifest digest before execution. If SIGINT shutdown times out, forced cleanup now bounds both TERM and KILL waits. A real child-process regression verifies cleanup when TERM is ignored.
One npm assembly produces the exact tarball consumed by each native runner and publication. The smoke rejects a mismatched runner target before loading the addon. Readiness distinguishes archive verification, assembly, and the native consumer matrix, and rejects failed, cancelled, or skipped required consumers.
The release checklist and audit record include the immutable preview inputs and results. All 11 native packages and 11 final images passed that rehearsal; Homebrew trust and the older preview's missing
Node.fromConfigcaused failed readiness. The actual 0.79.0 RC and stable distribution gates remain open in #37.Validation:
git diff --checkpassed.