Skip to main content

Clone the repository

Rust quality gates

Node.js installed-package test

Browser/WASM installed-package test

Python installed-package test

Documentation preview

The Mintlify content root is docs/.
mint dev --no-open starts a local preview without opening a browser.

Repository structure

Publish a release from GitHub Actions

Keep the four Cargo package versions, Python project version, both npm package versions, and their lockfiles aligned. The publishing workflows run python3 scripts/check-release.py <runtime> and reject inconsistent versions or a release tag that does not match the package version. For future releases, run the quality gates and installed-package tests above on the release commit, complete the integration checklist, and merge the release preparation PR before creating runtime tags on that same commit. Version 0.4.1 has already been published using the tags below; do not recreate or move these tags. A source version bump alone does not publish packages: Push runtime tags individually and confirm that each publishing workflow starts. If a tag already exists without a run, dispatch its publishing workflow against that existing tag; never move the tag to retrigger publication. For 0.4.1, the workflows were dispatched after a batch tag push did not produce workflow events. Check all four runs and install the published versions before announcing the combined release. Registry publication is not atomic across packages; inspect any partial result before retrying. Never move a tag that has already published a package. The npm workflows also accept a manual dry_run input, which defaults to true. A dry run builds and verifies package contents without publishing. For an actual manual publish, select the intended release tag and set dry_run to false.

npm trusted publisher setup

Configure npm trusted publishing once in each package’s npm settings. Use GitHub organization DataFog, repository datafog-core, environment npm, and allow direct npm publish: The publish jobs request GitHub’s OIDC identity with id-token: write and use npm 11.17.0 on Node 24. They do not use NPM_TOKEN or a local machine’s npm session. npm generates provenance for these public packages automatically. The Node workflow builds all five native binaries, transfers the generated JavaScript loader and types to the publish job, and runs the installed-package suite against the assembled package and its Linux native dependency before publishing. The WASM workflow runs the browser package suite before publishing.