From a6b6f6a806f6bfe99b4655e2baf516fa154ffbdc Mon Sep 17 00:00:00 2001 From: Will Jones Date: Wed, 19 Mar 2025 12:23:46 -0700 Subject: [PATCH] ci: drop vectordb support for musl, windows ARM (#2241) vectordb is deprecated, and these platforms are particularly difficult to maintain. Removing now to prevent further headaches. We will keep these platforms supported on `@lancedb/lancedb`. --- .bumpversion.toml | 15 ----- .github/workflows/npm-publish.yml | 99 +------------------------------ node/package-lock.json | 42 ------------- node/package.json | 10 +--- 4 files changed, 3 insertions(+), 163 deletions(-) diff --git a/.bumpversion.toml b/.bumpversion.toml index a8b82a0d..f07d7133 100644 --- a/.bumpversion.toml +++ b/.bumpversion.toml @@ -87,26 +87,11 @@ glob = "node/package.json" replace = "\"@lancedb/vectordb-linux-x64-gnu\": \"{new_version}\"" search = "\"@lancedb/vectordb-linux-x64-gnu\": \"{current_version}\"" -[[tool.bumpversion.files]] -glob = "node/package.json" -replace = "\"@lancedb/vectordb-linux-arm64-musl\": \"{new_version}\"" -search = "\"@lancedb/vectordb-linux-arm64-musl\": \"{current_version}\"" - -[[tool.bumpversion.files]] -glob = "node/package.json" -replace = "\"@lancedb/vectordb-linux-x64-musl\": \"{new_version}\"" -search = "\"@lancedb/vectordb-linux-x64-musl\": \"{current_version}\"" - [[tool.bumpversion.files]] glob = "node/package.json" replace = "\"@lancedb/vectordb-win32-x64-msvc\": \"{new_version}\"" search = "\"@lancedb/vectordb-win32-x64-msvc\": \"{current_version}\"" -[[tool.bumpversion.files]] -glob = "node/package.json" -replace = "\"@lancedb/vectordb-win32-arm64-msvc\": \"{new_version}\"" -search = "\"@lancedb/vectordb-win32-arm64-msvc\": \"{current_version}\"" - # Cargo files # ------------ [[tool.bumpversion.files]] diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 1087619c..2e059821 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -141,58 +141,6 @@ jobs: path: | node/dist/lancedb-vectordb-linux*.tgz - node-linux-musl: - name: vectordb (${{ matrix.config.arch}}-unknown-linux-musl) - runs-on: ubuntu-latest - container: alpine:edge - # Only runs on tags that matches the make-release action - if: startsWith(github.ref, 'refs/tags/v') - strategy: - fail-fast: false - matrix: - config: - - arch: x86_64 - - arch: aarch64 - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install common dependencies - run: | - apk add protobuf-dev curl clang mold grep npm bash - curl --proto '=https' --tlsv1.3 -sSf https://raw.githubusercontent.com/rust-lang/rustup/refs/heads/master/rustup-init.sh | sh -s -- -y - echo "source $HOME/.cargo/env" >> saved_env - echo "export CC=clang" >> saved_env - echo "export RUSTFLAGS='-Ctarget-cpu=haswell -Ctarget-feature=-crt-static,+avx2,+fma,+f16c -Clinker=clang -Clink-arg=-fuse-ld=mold'" >> saved_env - - name: Configure aarch64 build - if: ${{ matrix.config.arch == 'aarch64' }} - run: | - source "$HOME/.cargo/env" - rustup target add aarch64-unknown-linux-musl - crt=$(realpath $(dirname $(rustup which rustc))/../lib/rustlib/aarch64-unknown-linux-musl/lib/self-contained) - sysroot_lib=/usr/aarch64-unknown-linux-musl/usr/lib - apk_url=https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/aarch64/ - curl -sSf $apk_url > apk_list - for pkg in gcc libgcc musl; do curl -sSf $apk_url$(cat apk_list | grep -oP '(?<=")'$pkg'-\d.*?(?=")') | tar zxf -; done - mkdir -p $sysroot_lib - echo 'GROUP ( libgcc_s.so.1 -lgcc )' > $sysroot_lib/libgcc_s.so - cp usr/lib/libgcc_s.so.1 $sysroot_lib - cp usr/lib/gcc/aarch64-alpine-linux-musl/*/libgcc.a $sysroot_lib - cp lib/ld-musl-aarch64.so.1 $sysroot_lib/libc.so - echo '!' > $sysroot_lib/libdl.a - (cd $crt && cp crti.o crtbeginS.o crtendS.o crtn.o -t $sysroot_lib) - echo "export CARGO_BUILD_TARGET=aarch64-unknown-linux-musl" >> saved_env - echo "export RUSTFLAGS='-Ctarget-cpu=apple-m1 -Ctarget-feature=-crt-static,+neon,+fp16,+fhm,+dotprod -Clinker=clang -Clink-arg=-fuse-ld=mold -Clink-arg=--target=aarch64-unknown-linux-musl -Clink-arg=--sysroot=/usr/aarch64-unknown-linux-musl -Clink-arg=-lc'" >> saved_env - - name: Build Linux Artifacts - run: | - source ./saved_env - bash ci/manylinux_node/build_vectordb.sh ${{ matrix.config.arch }} ${{ matrix.config.arch }}-unknown-linux-musl - - name: Upload Linux Artifacts - uses: actions/upload-artifact@v4 - with: - name: node-native-linux-${{ matrix.config.arch }}-musl - path: | - node/dist/lancedb-vectordb-linux*.tgz - nodejs-linux-gnu: name: lancedb (${{ matrix.config.arch}}-unknown-linux-gnu runs-on: ${{ matrix.config.runner }} @@ -334,51 +282,6 @@ jobs: path: | node/dist/lancedb-vectordb-win32*.tgz - node-windows-arm64: - name: vectordb ${{ matrix.config.arch }}-pc-windows-msvc - # if: startsWith(github.ref, 'refs/tags/v') - runs-on: ubuntu-latest - container: alpine:edge - strategy: - fail-fast: false - matrix: - config: - # - arch: x86_64 - - arch: aarch64 - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apk add protobuf-dev curl clang lld llvm19 grep npm bash msitools sed - curl --proto '=https' --tlsv1.3 -sSf https://raw.githubusercontent.com/rust-lang/rustup/refs/heads/master/rustup-init.sh | sh -s -- -y - echo "source $HOME/.cargo/env" >> saved_env - echo "export CC=clang" >> saved_env - echo "export AR=llvm-ar" >> saved_env - source "$HOME/.cargo/env" - rustup target add ${{ matrix.config.arch }}-pc-windows-msvc - (mkdir -p sysroot && cd sysroot && sh ../ci/sysroot-${{ matrix.config.arch }}-pc-windows-msvc.sh) - echo "export C_INCLUDE_PATH=/usr/${{ matrix.config.arch }}-pc-windows-msvc/usr/include" >> saved_env - echo "export CARGO_BUILD_TARGET=${{ matrix.config.arch }}-pc-windows-msvc" >> saved_env - - name: Configure x86_64 build - if: ${{ matrix.config.arch == 'x86_64' }} - run: | - echo "export RUSTFLAGS='-Ctarget-cpu=haswell -Ctarget-feature=+crt-static,+avx2,+fma,+f16c -Clinker=lld -Clink-arg=/LIBPATH:/usr/x86_64-pc-windows-msvc/usr/lib'" >> saved_env - - name: Configure aarch64 build - if: ${{ matrix.config.arch == 'aarch64' }} - run: | - echo "export RUSTFLAGS='-Ctarget-feature=+crt-static,+neon,+fp16,+fhm,+dotprod -Clinker=lld -Clink-arg=/LIBPATH:/usr/aarch64-pc-windows-msvc/usr/lib -Clink-arg=arm64rt.lib'" >> saved_env - - name: Build Windows Artifacts - run: | - source ./saved_env - bash ci/manylinux_node/build_vectordb.sh ${{ matrix.config.arch }} ${{ matrix.config.arch }}-pc-windows-msvc - - name: Upload Windows Artifacts - uses: actions/upload-artifact@v4 - with: - name: node-native-windows-${{ matrix.config.arch }} - path: | - node/dist/lancedb-vectordb-win32*.tgz - nodejs-windows: name: lancedb ${{ matrix.target }} runs-on: windows-2022 @@ -463,7 +366,7 @@ jobs: release: name: vectordb NPM Publish - needs: [node, node-macos, node-linux-gnu, node-linux-musl, node-windows, node-windows-arm64] + needs: [node, node-macos, node-linux-gnu, node-windows] runs-on: ubuntu-latest # Only runs on tags that matches the make-release action if: startsWith(github.ref, 'refs/tags/v') diff --git a/node/package-lock.json b/node/package-lock.json index c96f56b7..fe7a0df0 100644 --- a/node/package-lock.json +++ b/node/package-lock.json @@ -55,10 +55,7 @@ "@lancedb/vectordb-darwin-arm64": "0.18.1", "@lancedb/vectordb-darwin-x64": "0.18.1", "@lancedb/vectordb-linux-arm64-gnu": "0.18.1", - "@lancedb/vectordb-linux-arm64-musl": "0.18.1", "@lancedb/vectordb-linux-x64-gnu": "0.18.1", - "@lancedb/vectordb-linux-x64-musl": "0.18.1", - "@lancedb/vectordb-win32-arm64-msvc": "0.18.1", "@lancedb/vectordb-win32-x64-msvc": "0.18.1" }, "peerDependencies": { @@ -368,19 +365,6 @@ "linux" ] }, - "node_modules/@lancedb/vectordb-linux-arm64-musl": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@lancedb/vectordb-linux-arm64-musl/-/vectordb-linux-arm64-musl-0.18.1.tgz", - "integrity": "sha512-pHHZ0DI3ElZ7E8f1j0ZFv9g4u3B2SqhOcVB/g3MbqGIgDdidayx84vIHM7jDH6ZROM9g5MnSRo3hfqChcgAADQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@lancedb/vectordb-linux-x64-gnu": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/@lancedb/vectordb-linux-x64-gnu/-/vectordb-linux-x64-gnu-0.18.1.tgz", @@ -394,32 +378,6 @@ "linux" ] }, - "node_modules/@lancedb/vectordb-linux-x64-musl": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@lancedb/vectordb-linux-x64-musl/-/vectordb-linux-x64-musl-0.18.1.tgz", - "integrity": "sha512-btkiZOwHSqlonBcxSp5ofc2dQ6/DjU53gHbycPYypuTh5480DfX7ar5MjMsnpB1GD6XzyDWfF18HI1LSWvYIZw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lancedb/vectordb-win32-arm64-msvc": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@lancedb/vectordb-win32-arm64-msvc/-/vectordb-win32-arm64-msvc-0.18.1.tgz", - "integrity": "sha512-qgmGKqTjROX8SJAb3TJ/PBLbnffLs22qm4CwxpzvTywJZAOyvqx/KrXkIG+6csoXCS5MhFnyIFonOQ6wXf9rpA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@lancedb/vectordb-win32-x64-msvc": { "version": "0.18.1", "resolved": "https://registry.npmjs.org/@lancedb/vectordb-win32-x64-msvc/-/vectordb-win32-x64-msvc-0.18.1.tgz", diff --git a/node/package.json b/node/package.json index 254f5fe3..f73370f3 100644 --- a/node/package.json +++ b/node/package.json @@ -85,10 +85,7 @@ "aarch64-apple-darwin": "@lancedb/vectordb-darwin-arm64", "x86_64-unknown-linux-gnu": "@lancedb/vectordb-linux-x64-gnu", "aarch64-unknown-linux-gnu": "@lancedb/vectordb-linux-arm64-gnu", - "x86_64-unknown-linux-musl": "@lancedb/vectordb-linux-x64-musl", - "aarch64-unknown-linux-musl": "@lancedb/vectordb-linux-arm64-musl", - "x86_64-pc-windows-msvc": "@lancedb/vectordb-win32-x64-msvc", - "aarch64-pc-windows-msvc": "@lancedb/vectordb-win32-arm64-msvc" + "x86_64-pc-windows-msvc": "@lancedb/vectordb-win32-x64-msvc" } }, "optionalDependencies": { @@ -96,9 +93,6 @@ "@lancedb/vectordb-darwin-arm64": "0.18.1", "@lancedb/vectordb-linux-x64-gnu": "0.18.1", "@lancedb/vectordb-linux-arm64-gnu": "0.18.1", - "@lancedb/vectordb-linux-x64-musl": "0.18.1", - "@lancedb/vectordb-linux-arm64-musl": "0.18.1", - "@lancedb/vectordb-win32-x64-msvc": "0.18.1", - "@lancedb/vectordb-win32-arm64-msvc": "0.18.1" + "@lancedb/vectordb-win32-x64-msvc": "0.18.1" } }