mac debug info

This commit is contained in:
Will Jones
2023-05-25 09:59:07 -07:00
parent 102f1d7404
commit 0028b95fd8
5 changed files with 84 additions and 5 deletions

View File

@@ -103,3 +103,74 @@ jobs:
- name: Test
run: |
npm run test
node-macos:
runs-on: macos-12
# needs: draft-release
strategy:
fail-fast: false
matrix:
target: [x86_64-apple-darwin, aarch64-apple-darwin]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install system dependencies
run: brew install protobuf
- name: Install npm dependencies
run: |
cd node
npm ci
- name: Install rustup target
if: ${{ matrix.target == 'aarch64-apple-darwin' }}
run: rustup target add aarch64-apple-darwin
- name: Build MacOS native node modules
run: bash ci/build_macos_artifacts.sh ${{ matrix.target }}
# - uses: softprops/action-gh-release@v1
# with:
# draft: true
# files: node/dist/vectordb-darwin*.tgz
# fail_on_unmatched_files: true
node-linux:
name: node-linux (${{ matrix.arch}}-unknown-linux-${{ matrix.libc }})
runs-on: ubuntu-latest
# needs: draft-release
strategy:
fail-fast: false
matrix:
libc:
- gnu
# TODO: re-enable musl once we have refactored to pre-built containers
# Right now we have to build node from source which is too expensive.
# - musl
arch:
- x86_64
# - aarch64
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
if: ${{ matrix.arch == 'aarch64' }}
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
- name: Build Linux GNU native node modules
if: ${{ matrix.libc == 'gnu' }}
run: |
docker run \
-v $(pwd):/io -w /io \
quay.io/pypa/manylinux2014_${{ matrix.arch }} \
bash ci/build_linux_artifacts.sh ${{ matrix.arch }}-unknown-linux-gnu
- name: Build musl Linux native node modules
if: ${{ matrix.libc == 'musl' }}
run: |
docker run --platform linux/arm64/v8 \
-v $(pwd):/io -w /io \
quay.io/pypa/musllinux_1_1_${{ matrix.arch }} \
bash ci/build_linux_artifacts.sh ${{ matrix.arch }}-unknown-linux-musl
# - uses: softprops/action-gh-release@v1
# with:
# draft: true
# files: node/dist/vectordb-linux*.tgz
# fail_on_unmatched_files: true

View File

@@ -1,6 +1,7 @@
name: Prepare Release
# Based on https://github.com/dherman/neon-prebuild-example/blob/eaa4d33d682e5eb7abbc3da7aed153a1b1acb1b3/.github/workflows/publish.yml
# TODO: bump versions in CI
# TODO: keep python release separate for now.
on:
push:
@@ -137,7 +138,7 @@ jobs:
# - musl
arch:
- x86_64
- aarch64
# - aarch64
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -146,6 +147,8 @@ jobs:
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
- name: Build Linux GNU native node modules
if: ${{ matrix.libc == 'gnu' }}
run: |

View File

@@ -44,9 +44,9 @@ install_node() {
# This node version is 15, we need 16 or higher:
# apk add nodejs-current npm
# So instead we install from source (nvm doesn't provide binaries for musl):
nvm install -s 17
nvm install -s --no-progress 17
else
nvm install 17 # latest that supports glibc 2.17
nvm install --no-progress 17 # latest that supports glibc 2.17
fi
printenv
@@ -77,6 +77,8 @@ build_node_binary() {
fi
# We don't pass in target, since the native target here already matches
# and openblas-src doesn't do well with cross-compilation.
source ~/.bashrc
npm run check-npm --script-shell bash
npm run build-release --script-shell bash
npm run pack-build --script-shell bash

View File

@@ -33,4 +33,6 @@ if [ -n "$1" ]; then
else
targets="x86_64-apple-darwin aarch64-apple-darwin"
fi
prebuild_rust $targets
build_node_binaries $targets

View File

@@ -11,7 +11,8 @@
"cross-release": "cargo-cp-artifact --artifact cdylib vectordb-node index.node -- cross build --message-format=json --release -p vectordb-node",
"test": "mocha -recursive dist/test",
"lint": "eslint src --ext .js,.ts",
"pack-build": "neon pack-build"
"pack-build": "neon pack-build",
"check-npm": "printenv && which node && which npm && npm --version"
},
"repository": {
"type": "git",