mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-05 03:12:57 +00:00
2.2 KiB
2.2 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. Wait for those jobs to complete.
3. Publish the release
Once the jobs are complete, you can edit the
- Push a tag, such as vX.X.X. Once the tag is pushrf, GitHub actions will start building the native libraries and uploading them to a draft release. Wait for those jobs to complete.
- If the libraries are successful, edit the changelog and then publish the release. Once you publish, a new action will start and upload all the release artifacts to npm.
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