Skip to content

feat: depend on the prebuilt N-API releases of the native addons - #83

Merged
rolljee merged 1 commit into
betafrom
feat/prebuilt-native-deps
Sep 26, 2026
Merged

rolljee merged 1 commit into
betafrom
feat/prebuilt-native-deps

Conversation

@rolljee

@rolljee rolljee commented Sep 26, 2026

Copy link
Copy Markdown
Member

Part of kuzzleio/kuzzle#2839.

What

Both now ship prebuilt N-API binaries (linux-x64/arm64 on glibc 2.31+, darwin-x64/arm64) inside the tarball; npm ci in this repo compiles nothing (checked: 0 node-gyp lines). Pinned exactly while they are betas; they move to their stable versions before koncorde's own stable release.

Behavior: each addon was proven identical to its previous release by a seeded differential test in its CI. For boost, the C++ standard is now pinned to gnu++17 — 1.4.0 inherited it from the Node headers, and its Node 24 build (gnu++20) differs on arm64; see the boost PR.

Release

The organization NPM_TOKEN no longer authenticates. The release job moves to npm trusted publishing (OIDC) with semantic-release 25 and the built-in GITHUB_TOKEN, as the addons did today (their releases went through that way). semantic-release-config-kuzzle 1.1.2 → 1.3.0: same dist/index.js, a peer range that accepts semantic-release 25.

Before merging, on npmjs.com: koncorde → Settings → Trusted publishing → GitHub Actions — organization kuzzleio, repository koncorde, workflow push_branches.workflow.yaml, no environment.

Tests

npm run test:lint clean, npm run test:unit 422 passing locally (Node 24, darwin-arm64); the PR CI runs them on Node 20/22/24.

🤖 Generated with Claude Code

boost-geospatial-index 1.5.0-beta.1 and kuzzle-espresso-logic-minimizer
2.3.0-beta.1 ship prebuilt N-API binaries (linux-x64/arm64, darwin-x64/arm64)
instead of compiling at install time: `npm ci` here now runs no node-gyp.
Both were proven identical to their previous release by a seeded
differential test (boost: with the C++ standard pinned to gnu++17, the
behavior 1.4.0 had on Node 20 and 22). Pinned exactly while they are betas.

The release job moves to npm trusted publishing (OIDC) with semantic-release
25, as kuzzle and the addons did: the organization's NPM_TOKEN no longer
authenticates. semantic-release-config-kuzzle 1.3.0 ships the same
configuration as 1.1.2 with a peer range that accepts semantic-release 25.

Refs kuzzleio/kuzzle#2839

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@rolljee
rolljee merged commit 789a1dc into beta Sep 26, 2026
6 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 4.8.0-beta.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 4.8.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant