@@ -26,45 +26,27 @@ jobs:
26
26
target : " aarch64-unknown-linux-gnu"
27
27
setup : |
28
28
sudo apt update
29
- sudo apt install -y g++-aarch64-linux-gnu libc6-dev-arm64-cross
29
+ sudo apt install -y crossbuild-essential-arm64
30
+
30
31
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
31
32
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
32
33
echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
33
34
34
35
- host : ubuntu-latest
35
36
target : " x86_64-unknown-linux-gnu"
36
- container : amazon/aws-lambda-nodejs:18
37
- install : |
38
- yum install -y gcc gcc-c++ git
39
- curl https://sh.rustup.rs -sSf | bash -s -- -y
40
-
41
- setup : |
42
- pnpm install
43
37
44
38
- host : ubuntu-latest
45
39
target : " x86_64-unknown-linux-musl"
46
- container : ghcr.io/napi-rs/napi-rs/nodejs-rust:stable-2023-09-17-alpine
47
- install : |
48
- apk add libc6-compat curl
49
40
setup : |
50
- pnpm install
41
+ sudo apt update
42
+ sudo apt install -y musl-tools
51
43
52
44
- host : ubuntu-latest
53
45
target : " aarch64-unknown-linux-musl"
54
- container : ghcr.io/napi-rs/napi-rs/nodejs-rust:stable-2023-09-17-alpine
55
- install : |
56
- apk add libc6-compat curl
57
- echo /root/.cargo/bin >> ${GITHUB_PATH}
58
- echo /usr/local/cargo/bin/rustup >> ${GITHUB_PATH}
59
- echo /aarch64-linux-musl-cross/bin >> ${GITHUB_PATH}
60
- export PATH=/aarch64-linux-musl-cross/bin:/usr/local/cargo/bin/rustup:/root/.cargo/bin:${PATH}
61
46
setup : |
62
- export PATH=/aarch64-linux-musl-cross/bin:/usr/local/cargo/bin/rustup:/root/.cargo/bin:${PATH}
63
- rustup default $(cat ./rust-toolchain)-aarch64-unknown-linux-musl
64
- rustup target add aarch64-unknown-linux-musl
65
- rustup toolchain install $(cat ./rust-toolchain)
66
- pnpm install
67
- rust_env : CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc RUSTFLAGS="-Ctarget-feature=-crt-static"
47
+ sudo apt update
48
+ sudo apt install -y crossbuild-essential-arm64 musl-tools clang llvm
49
+ rust_env : ' CC_aarch64_unknown_linux_musl=clang AR_aarch64_unknown_linux_musl=llvm-ar RUSTFLAGS="-Clink-self-contained=yes -Clinker=rust-lld"'
68
50
69
51
- host : windows-latest
70
52
target : " aarch64-pc-windows-msvc"
73
55
target : " x86_64-pc-windows-msvc"
74
56
75
57
runs-on : ${{ matrix.settings.host }}
76
- container :
77
- image : ${{ matrix.settings.container }}
78
58
steps :
79
- - name : Install Packages
80
- run : ${{ matrix.settings.install }}
81
- if : ${{ matrix.settings.install }}
82
-
83
59
- name : Checkout
84
60
uses : actions/checkout@v3
85
61
with :
@@ -89,19 +65,17 @@ jobs:
89
65
uses : ./.github/actions/setup-rust
90
66
with :
91
67
targets : ${{ matrix.settings.target }}
92
- if : ${{ !matrix.settings.install }}
93
68
94
69
- name : Setup Node
95
70
uses : ./.github/actions/setup-node
96
- with :
97
- enable-corepack : false
98
- if : ${{ !matrix.settings.install }}
99
71
100
72
- name : Setup toolchain
73
+ shell : bash
101
74
run : ${{ matrix.settings.setup }}
102
75
if : ${{ matrix.settings.setup }}
103
76
104
77
- name : Build native library
78
+ shell : bash
105
79
run : |
106
80
cd packages/turbo-repository
107
81
${{ matrix.settings.rust_env }} pnpm build:release --target=${{ matrix.settings.target }}
0 commit comments