@@ -2,12 +2,12 @@ name: nodejs-polars
2
2
env :
3
3
DEBUG : napi:*
4
4
APP_NAME : nodejs-polars
5
- MACOSX_DEPLOYMENT_TARGET : ' 10.13'
6
- ' on ' :
5
+ MACOSX_DEPLOYMENT_TARGET : " 10.13"
6
+ " on " :
7
7
push :
8
- # Sequence of patterns matched against refs/tags
8
+ # Sequence of patterns matched against refs/tags
9
9
tags :
10
- - ' nodejs-polars-v*' # Push events to matching nodejs-polars-v*, i.e. nodejs-polars-v1.0, nodejs-polars-v20.15.10
10
+ - " nodejs-polars-v*" # Push events to matching nodejs-polars-v*, i.e. nodejs-polars-v1.0, nodejs-polars-v20.15.10
11
11
jobs :
12
12
build :
13
13
strategy :
@@ -40,13 +40,12 @@ jobs:
40
40
rustup target add x86_64-unknown-linux-gnu &&
41
41
yarn build --target x86_64-unknown-linux-gnu --zig --zig-abi-suffix 2.12 &&
42
42
llvm-strip -x polars/*.node
43
- # This has issues with the napi build containers see https://github.com/napi-rs/napi-rs/issues/1389
44
43
45
- # - host: ubuntu-latest
46
- # architecture: x64
47
- # target: x86_64-unknown-linux-musl
48
- # docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
49
- # build: set -e && yarn build && strip polars/*.node
44
+ - host : ubuntu-latest
45
+ architecture : x64
46
+ target : x86_64-unknown-linux-musl
47
+ docker : ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
48
+ build : set -e && unset CC && unset CXX && yarn build && strip polars/*.node
50
49
- host : macos-latest
51
50
target : aarch64-apple-darwin
52
51
build : |
@@ -60,14 +59,16 @@ jobs:
60
59
- host : ubuntu-latest
61
60
architecture : x64
62
61
target : aarch64-unknown-linux-gnu
63
- setup : |
64
- sudo apt-get update
65
- sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y
62
+ docker : ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
66
63
build : |
67
- yarn build --target=aarch64-unknown-linux-gnu
68
- aarch64-linux-gnu-strip polars/*.node
64
+ rustup toolchain install $(cat ./rust-toolchain)
65
+ rustup target add aarch64-unknown-linux-gnu
66
+ cp -r /usr/aarch64-unknown-linux-gnu/lib/gcc /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/lib/
67
+ export LDFLAGS="--sysroot=/usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -L/usr/aarch64-unknown-linux-gnu/lib/gcc/aarch64-unknown-linux-gnu/4.8.5"
68
+ export CFLAGS="-fuse-ld=lld --sysroot=/usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -L/usr/aarch64-unknown-linux-gnu/lib/gcc/aarch64-unknown-linux-gnu/4.8.5"
69
+ yarn build --target aarch64-unknown-linux-gnu
70
+ llvm-strip polars/*.node
69
71
# Disabled until a simd-json fallback can be implemented. see https://github.com/simd-lite/simd-json/issues/263 and https://github.com/simd-lite/simd-json/issues/218
70
-
71
72
# - host: ubuntu-latest
72
73
# architecture: x64
73
74
# target: armv7-unknown-linux-gnueabihf
@@ -78,32 +79,28 @@ jobs:
78
79
# yarn build --target=armv7-unknown-linux-gnueabihf
79
80
# arm-linux-gnueabihf-strip polars/*.node
80
81
82
+ - host : ubuntu-latest
83
+ architecture : x64
84
+ target : aarch64-linux-android
85
+ build : |
86
+ export CLANG_VERSION=`ls ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang | sed 's/ *$//g'`
87
+ touch "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
88
+ chmod 777 "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
89
+ echo "INPUT(-lunwind)" > "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
90
+ yarn build --target aarch64-linux-android
91
+ ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip polars/*.node
81
92
82
- # This has issues with the napi build containers see https://github.com/napi-rs/napi-rs/issues/1389
83
-
84
- # - host: ubuntu-latest
85
- # architecture: x64
86
- # target: aarch64-linux-android
87
- # build: |
88
- # export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
89
- # export CC="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
90
- # export CXX="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
91
- # export AR="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
92
- # export PATH="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
93
- # yarn build --target aarch64-linux-android#
94
- # ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip polars/*.node
95
-
96
- # This has issues with the napi build containers see https://github.com/napi-rs/napi-rs/issues/1389
97
-
98
- # - host: ubuntu-latest
99
- # architecture: x64
100
- # target: aarch64-unknown-linux-musl
101
- # docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
102
- # build: |-
103
- # rustup toolchain install $(cat ./rust-toolchain)
104
- # rustup target add aarch64-unknown-linux-musl
105
- # yarn build --target=aarch64-unknown-linux-musl
106
- # /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip polars/*.node
93
+ - host : ubuntu-latest
94
+ architecture : x64
95
+ target : aarch64-unknown-linux-musl
96
+ docker : ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
97
+ build : |-
98
+ rustup toolchain install $(cat ./rust-toolchain)
99
+ rustup target add aarch64-unknown-linux-musl
100
+ unset CC
101
+ unset CXX
102
+ yarn build --target=aarch64-unknown-linux-musl
103
+ /aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip polars/*.node
107
104
108
105
name : ${{ matrix.settings.target }} - node@16
109
106
runs-on : ${{ matrix.settings.host }}
@@ -161,7 +158,7 @@ jobs:
161
158
if : ${{ matrix.settings.docker }}
162
159
with :
163
160
image : ${{ matrix.settings.docker }}
164
- options : ' --user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build'
161
+ options : " --user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build"
165
162
run : ${{ matrix.settings.build }}
166
163
- name : Build
167
164
run : ${{ matrix.settings.build }}
@@ -223,4 +220,4 @@ jobs:
223
220
- name : Publish to npm
224
221
run : npm publish
225
222
env :
226
- NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
223
+ NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments