mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-07 12:22:59 +00:00
2.0 KiB
2.0 KiB
How to release the node module
1. Bump the versions
pushd rust/vectordb
cargo bump minor
popd
pushd rust/ffi/node
cargo bump minor
popd
pushd python
cargo bump minor
popd
pushd node
npm version minor
popd
git add -u
git commit -m "Bump versions"
git push
2. Push a new tag
git tag vX.X.X
git push --tag vX.X.X
When the tag is pushed, GitHub actions will start building the libraries and will upload them to a draft release.
While those jobs are running, edit the release notes as needed. For example, bring relevant new features and bugfixes to the top of the notes and the testing and CI changes to the bottom.
Once the jobs have finished, the release will be marked as not draft and the artifacts will be released to crates.io, NPM, and PyPI.
Manual process
You can build the artifacts locally on a MacOS machine.
Build the MacOS release libraries
One-time setup:
rustup target add x86_64-apple-darwin aarch64-apple-darwin
To build:
bash ci/build_macos_artifacts.sh
Build the Linux release libraries
To build a Linux library, we need to use docker with a different build script:
ARCH=aarch64
docker run \
-v $(pwd):/io -w /io \
quay.io/pypa/manylinux2014_$ARCH \
bash ci/build_linux_artifacts.sh $ARCH-unknown-linux-gnu
You can change ARCH to x86_64.
Similar script for musl binaries:
ARCH=aarch64
docker run \
-v $(pwd):/io -w /io \
quay.io/pypa/musllinux_1_1_$ARCH \
bash ci/build_linux_artifacts.sh $ARCH-unknown-linux-musl
docker run \
-v $(pwd):/io -w /io \
quay.io/pypa/musllinux_1_1_aarch64 \
bash alpine_repro.sh