Skip to content

fix: bundle macos on npm publish#91

Merged
TeoSlayer merged 1 commit intomainfrom
fix_npm
May 6, 2026
Merged

fix: bundle macos on npm publish#91
TeoSlayer merged 1 commit intomainfrom
fix_npm

Conversation

@Alexgodoroja
Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Fix rpm

Changes

Files changed

File: sdk/node/scripts/build-binaries.sh
What: Outputs to bin/${OS}-${ARCH}/ (subdir) instead of flat bin/; .pilot-version stays

at bin/ root (shared across platforms)                                             

────────────────────────────────────────
File: sdk/node/src/runtime.ts
What: New pkgBinRoot() (top-level bin/) + pkgBinDir() (platform subdir);
bundledVersion() reads from root; platformDirName() helper
────────────────────────────────────────
File: sdk/node/src/ffi.ts
What: findLibrary() fallback for npm package layout now looks in bin/-/
────────────────────────────────────────
File: sdk/node/tests/runtime.test.ts
What: Test fixture builds proper layout (root + platform subdir + version marker); +1
new test for missing-platform-subdir case
────────────────────────────────────────
File: .github/workflows/publish-node-sdk.yml
What: Adds workflow_dispatch (inputs: version, prerelease); each matrix runner uploads
its bin/ subdir as node-bin-{linux,macos}; publish job downloads both, merges macOS
subdirs into Linux package base, then publishes one multi-platform npm package
────────────────────────────────────────
File: .github/workflows/publish-python-sdk.yml
What: Adds workflow_dispatch (same inputs); gating moved from test-sdk to publish so
dispatch can do "build only" for prereleases

Verification done

  • npm test in sdk/node: 112/112 pass (was 111, +1 new wrong-platform test)
  • pytest in sdk/python: 124/124 pass (modulo the unrelated pre-existing /private/var
    symlink failure)
  • bash sdk/node/scripts/build-binaries.sh produces
    sdk/node/bin/darwin-arm64/{pilot-daemon, pilotctl, pilot-gateway, pilot-updater,
    libpilot.dylib} + sdk/node/bin/.pilot-version
  • findLibrary() resolves correctly through the seeder end-to-end (verified with node
    -e)
  • YAML syntax validates for both workflow files
  • grep -ri polo sdk/ returns nothing (PR fix: update python and js pilot clients to 1.9-* #90 already on main)

@Alexgodoroja Alexgodoroja requested a review from TeoSlayer as a code owner May 6, 2026 23:21
@TeoSlayer TeoSlayer merged commit 19879dc into main May 6, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants