chore: set up release-please, bump Node to >=21, disable darwin-x64 npm builds#2
Merged
Merged
Conversation
…pm builds Wires up release-please as the release-management system, raises the Node.js floor to v21, and turns off the currently-unreliable darwin-x64 npm publishing path. No package versions change in this commit — everything stays at 0.1.1. The merge commit prefix is `chore:` so release-please will not auto-open a release PR after this lands; the first release PR will appear after the next `feat:` or `fix:` commit hits main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Set up release-please, bump Node floor to >=21, disable darwin-x64 npm
Summary
Replaces the manual release process with release-please automation, raises the Node.js floor from
>= 18to>= 21, and turns off the currently-unreliabledarwin-x64npm publishing path.No package versions change in this PR — everything stays at
0.1.1. The merge commit prefix ischore:so release-please will not auto-open a release PR after this lands. The first release PR will appear after the nextfeat:orfix:commit hitsmain.What changes
release-please pipeline
.github/workflows/release-please.yml(new) — runsrelease-please-action@v4on every push tomainusing the defaultGITHUB_TOKEN. Maintains a single open "release PR" that bumps versions and updates per-crateCHANGELOG.mdfiles based on Conventional Commits.release-please-config.json— declares all 15 components: 7 publishable packages (6 Rust +hyperdb-api-node) plus 8 npm platform sub-packages (3 forhyperdb-mcp, 5 forhyperdb-api-nodeafter disabling darwin-x64). Thelinked-versionsplugin groups them so they bump in lockstep, which keepscargo publish's strict inter-crateversion = "=X.Y.Z"pins consistent without manual edits..release-please-manifest.json(new) — starting state, all 15 entries at0.1.1..github/workflows/release.yml— addedon: release: types: [published]trigger so it fires when release-please publishes the GitHub Release. release-please usesGITHUB_TOKEN, and tags pushed byGITHUB_TOKENdon't fireon: push: tags:workflows. Therelease: publishedevent isn't subject to that restriction (same patternnpm-build-publish.ymlalready uses), so this avoids needing a custom PAT. Tag-resolution step now also readsgithub.event.release.tag_name.Node.js floor:
>= 18→>= 21Older Node releases ship npm/npx versions that don't accept the
npx -y <package>argument shape used in our MCP config examples (observed on Windows with bundled Node 14, but conservative enough to cover stale Node 18 installs too).package.jsonfiles:engines.nodeupdated.hyperdb-api-node/README.md,AGENTS.md,DEVELOPMENT.md,examples/hyper-explorer/README.md).hyperdb-mcp/README.md— added a "Requirement: Node.js v21 or later" callout above the npm install command, plus a new "Upgrading Node.js with nvm" subsection covering macOS/Linux and Windows.darwin-x64 npm builds disabled
The
macos-13GHA runner has been unreliable, blockingdarwin-x64builds. Until the runner stabilizes, Intel macOS users must build from source.napi.targets(inhyperdb-api-node/package.json): removedx86_64-apple-darwin.optionalDependencies(in bothhyperdb-api-node/package.jsonandhyperdb-mcp/npm/package.json): removed the*-darwin-x64entries.hyperdb-api-node/index.jsandhyperdb-mcp/npm/bin.js): returnnullfor darwin-x64 so users get the existing "platform not supported" error path instead of a confusing "package not found" failure.release-please-config.jsonand manifest: removed the two*-darwin-x64components.npm-build-publish.ymlmatrix: already had darwin-x64 commented out before this PR; left alone.The
hyperdb-mcp/npm/darwin-x64/andhyperdb-api-node/npm/darwin-x64/directories are still on disk and git-tracked but no longer referenced anywhere — they can be re-enabled in place by reverting this PR's removals when macos-13 runners stabilize.Documentation rewrites
CONTRIBUTING.md→ "Release Process" — replaced the manual "bump versions, edit changelogs, push tags" recipe with the release-please flow (write conventional commits, merge the release PR, done). Contributors no longer touchCHANGELOG.mdor version fields by hand. Also unchecked the Contribution Checklist boxes (template state) and added a callout for multi-account contributors to use--localinstead of--globalwhen configuring SSH commit signing.docs/GITHUB_OPERATIONS.md— workflows table now listsrelease-please. "Cutting a release" rewritten around release-please. Added a new "How commits drive version bumps" subsection with a table mapping commit prefixes (fix:,feat:,feat!:,Release-As:) to version impact, with explicit handling of the pre-1.0 caveat (semver allows breaking changes within0.x.ywithout a major bump). "Re-running" / "When something breaks" sections updated. Removed stale "Pre-built binaries" subsection (we no longer ship binary archives — those were dropped earlier when the build-binaries job was removed).README.md— replaced "Pre-built binaries" section with current install paths vianpm install -g hyperdb-mcpandcargo install hyperdb-mcp. README badges already updated in an earlier commit on this branch.Iceberg surfaced in the user-facing MCP README
While reviewing changes, noticed that Apache Iceberg support has been fully implemented (lakehouse.rs,
load_icebergMCP tool,icebergexport format, all using hyperd's native reader — no experimental flag) but never made it into hyperdb-mcp/README.md. Added it to:load_icebergtool entry under "Workspace Tools"exportformat listCHANGELOG one-time prep
All 7
CHANGELOG.mdfiles: a## [0.1.1] - 2026-05-13heading was inserted between the existing## [Unreleased]heading and its content, so the existing changelog body now sits under[0.1.1]. release-please starts from a clean[Unreleased]and will insert future release entries above the dated[0.1.1]section.Doc fixes surfaced during review
docs/GITHUB_OPERATIONS.md— fixedCRATES_IO_TOKEN→CARGO_REGISTRY_TOKEN(matches actual workflow secret name).docs/GITHUB_OPERATIONS.md— fixed crates.io publish order to matchrelease.yml(hyperdb-api-salesforcefirst to break the optional-dep cycle, thenhyperdb-api-core).hyperdb-api-node/README.md— fixed inconsistentNode.js >= 18(rest of file already said>= 21).hyperdb-api-node/DEVELOPMENT.md— replaced stale "Publishing to npm" section (described arelease:-prefixed commit flow that doesn't exist) with a pointer to release-please docs.How to verify after merge
fix:orfeat:) tomain.chore(main): release X.Y.Z.Cargo.tomlfiles:version = "X.Y.Z"updated, inter-crateversion = "=X.Y.Z"pins updated.hyperdb-api-node/package.jsonandhyperdb-mcp/npm/package.json: both their ownversionfield AND every entry in theiroptionalDependenciesblock updated.versionfield updated.CHANGELOG.mdfiles: a new## [X.Y.Z]section above the existing## [0.1.1]section, summarizing the conventional commits.main.release.yml(crates.io) andnpm-build-publish.yml(npm) fire automatically and publish successfully.Test plan
cargo check --workspace --exclude hyperdb-api-nodepasses (verified locally)cargo fmt --all --checkcleanOut of scope
package.jsonstill hasfile:deps pointing to nonexistent0.1.0.tgzartifacts. Pre-existing since the OSS release, unrelated to this branch — separate cleanup.darwin-x64npm builds whenmacos-13GHA runners stabilize — separate revert-style PR.