Skip to content

Commit

Permalink
fix(ci): Fix android build issue caused by NDK 21 -> 23 (#4942)
Browse files Browse the repository at this point in the history
  • Loading branch information
Brooooooklyn committed Jun 11, 2022
1 parent ac7dac6 commit 52e2347
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 95 deletions.
16 changes: 12 additions & 4 deletions .github/workflows/publish-node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
build: |
cargo build -p swc_cli --release --target i686-pc-windows-msvc
cp target/i686-pc-windows-msvc/release/swc .
yarn build --target i686-pc-windows-msvc
yarn build --target i686-pc-windows-msvc --cargo-flags="--no-default-features" --features swc_v1
yarn test
target: i686-pc-windows-msvc
- host: ubuntu-latest
Expand Down Expand Up @@ -105,24 +105,32 @@ jobs:
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
export AR="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
touch /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/aarch64/libgcc.a
chmod 777 /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/aarch64/libgcc.a
echo "INPUT(-lunwind)" > /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/aarch64/libgcc.a
cargo build -p swc_cli --release --features plugin --target aarch64-linux-android
cp ./target/aarch64-linux-android/release/swc .
chmod +x ./swc
yarn build --target aarch64-linux-android
${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip *.node
${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
- host: ubuntu-latest
target: armv7-linux-androideabi
build: |
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"
export AR="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
touch /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/arm/libgcc.a
chmod 777 /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/arm/libgcc.a
echo "INPUT(-lunwind)" > /usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/12.0.9/lib/linux/arm/libgcc.a
cargo build -p swc_cli --release --target armv7-linux-androideabi
cp ./target/armv7-linux-androideabi/release/swc .
chmod +x ./swc
yarn build --target armv7-linux-androideabi --cargo-flags='--no-default-features --features swc_v1'
${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip *.node
${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
- host: ubuntu-latest
target: aarch64-unknown-linux-musl
downloadTarget: aarch64-unknown-linux-musl
Expand Down Expand Up @@ -299,7 +307,7 @@ jobs:
env
freebsd-version
yarn install --ignore-scripts --registry https://registry.npmjs.org --network-timeout 300000
yarn build
yarn build --cargo-flags="--no-default-features" --features "swc_v1"
cargo build -p swc_cli --release --features plugin
cp ./target/release/swc .
yarn test
Expand Down
68 changes: 14 additions & 54 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 24 additions & 24 deletions crates/binding_core_node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,38 +24,38 @@ swc_v1 = ["swc_node_bundler/swc_v1"]
swc_v2 = ["swc_node_bundler/swc_v2"]

[build-dependencies]
napi-build = {version = "1"}
napi-build = { version = "2" }

[dependencies]
anyhow = "1"
backtrace = "0.3"
napi = {version = "2", default-features = false, features = [
napi = { version = "2", default-features = false, features = [
"napi3",
"serde-json",
]}
napi-derive = {version = "2", default-features = false, features = [
] }
napi-derive = { version = "2", default-features = false, features = [
"type-def",
]}
node_macro_deps = {path = "../node_macro_deps"}
] }
node_macro_deps = { path = "../node_macro_deps" }
path-clean = "0.1"
serde = {version = "1", features = ["derive"]}
serde_json = {version = "1", features = ["unbounded_depth"]}
swc = {path = "../swc", features = ["node", "concurrent"]}
swc_atoms = {version = "0.2.4", path = "../swc_atoms"}
swc_bundler = {path = "../swc_bundler"}
swc_common = {path = "../swc_common", features = ["sourcemap", "perf"]}
swc_ecma_ast = {path = "../swc_ecma_ast"}
swc_ecma_lints = {path = "../swc_ecma_lints", features = [
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["unbounded_depth"] }
swc = { path = "../swc", features = ["node", "concurrent"] }
swc_atoms = { version = "0.2.4", path = "../swc_atoms" }
swc_bundler = { path = "../swc_bundler" }
swc_common = { path = "../swc_common", features = ["sourcemap", "perf"] }
swc_ecma_ast = { path = "../swc_ecma_ast" }
swc_ecma_lints = { path = "../swc_ecma_lints", features = [
"non_critical_lints",
]}
swc_ecma_loader = {path = "../swc_ecma_loader"}
swc_ecma_parser = {path = "../swc_ecma_parser"}
swc_node_bundler = {path = "../swc_node_bundler"}
swc_nodejs_common = {path = "../swc_nodejs_common"}
swc_plugin_runner = {path = "../swc_plugin_runner", optional = true, default-features = false}
tracing = {version = "0.1.32", features = ["release_max_level_info"]}
] }
swc_ecma_loader = { path = "../swc_ecma_loader" }
swc_ecma_parser = { path = "../swc_ecma_parser" }
swc_node_bundler = { path = "../swc_node_bundler" }
swc_nodejs_common = { path = "../swc_nodejs_common" }
swc_plugin_runner = { path = "../swc_plugin_runner", optional = true, default-features = false }
tracing = { version = "0.1.32", features = ["release_max_level_info"] }
tracing-chrome = "0.5.0"
tracing-futures = "0.2.5"
tracing-subscriber = {version = "0.3.9", features = ["env-filter"]}
wasmer = {version = "2.3.0", optional = true, default-features = false}
wasmer-wasi = {version = "2.3.0", optional = true, default-features = false}
tracing-subscriber = { version = "0.3.9", features = ["env-filter"] }
wasmer = { version = "2.3.0", optional = true, default-features = false }
wasmer-wasi = { version = "2.3.0", optional = true, default-features = false }
16 changes: 8 additions & 8 deletions crates/swc_cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ plugin = [
[dependencies]
anyhow = "1.0.53"
atty = "0.2.14"
clap = {version = "3.1.0", features = ["derive", "wrap_help"]}
clap = { version = "3.1.0", features = ["derive", "wrap_help"] }
glob = "0.3.0"
rayon = "1"
relative-path = "1.6.1"
serde = {version = "1", features = ["derive"]}
serde_json = {version = "1", features = ["unbounded_depth"]}
swc = {version = "0.187.0", path = "../swc"}
swc_common = { version = "0.18.0", path = "../swc_common"}
swc_plugin_runner = {version = "0.56.0", path = "../swc_plugin_runner", default-features = false, optional = true}
swc_trace_macro = {version = "0.1.0", path = "../swc_trace_macro"}
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["unbounded_depth"] }
swc = { version = "0.187.0", path = "../swc" }
swc_common = { version = "0.18.0", path = "../swc_common" }
swc_plugin_runner = { version = "0.56.0", path = "../swc_plugin_runner", default-features = false, optional = true }
swc_trace_macro = { version = "0.1.0", path = "../swc_trace_macro" }
tracing = "0.1.32"
tracing-chrome = "0.5.0"
tracing-futures = "0.2.5"
tracing-subscriber = {version = "0.3.9", features = ["env-filter"]}
tracing-subscriber = { version = "0.3.9", features = ["env-filter"] }
walkdir = "2"
wasmer = { version = "2.3.0", optional = true }
wasmer-wasi = { version = "2.3.0", optional = true }
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
"@babel/preset-react": "^7.13.13",
"@babel/preset-typescript": "^7.13.0",
"@babel/types": "^7.14.0",
"@napi-rs/cli": "^2.7.0",
"@napi-rs/cli": "^2.10.0",
"@swc/helpers": "^0.3.8",
"@taplo/cli": "^0.3.2",
"@types/jest": "^26.0.23",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1432,10 +1432,10 @@
"@types/yargs" "^16.0.0"
chalk "^4.0.0"

"@napi-rs/cli@^2.7.0":
version "2.7.0"
resolved "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.7.0.tgz#afcfc6f8476f1c2c259c626270841bd24fc52588"
integrity sha512-bQb+r9/xW8LFRbpEN7A/4fX8LnEWbI0JzyOzXGDpO+cI8dXRxX7OPySOpzT2nBgP1brA2Ydkw/t9lyxLN9TlxQ==
"@napi-rs/cli@^2.10.0":
version "2.10.0"
resolved "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.10.0.tgz#05edb7618992c256048f9f415a9947a66796b4a5"
integrity sha512-pK/VLOdo690FEItPJ9T5PLEfzmDTHgXjzuVChnsKvqI9vPg+rH12iyoxOrux6PAqg/pImJTd4CCabRqEfLt/sA==

"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
Expand Down

1 comment on commit 52e2347

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 52e2347 Previous: 381d273 Ratio
es/full/minify/libraries/antd 1923625212 ns/iter (± 60159869) 1730029017 ns/iter (± 12777118) 1.11
es/full/minify/libraries/d3 519262662 ns/iter (± 6591213) 398160500 ns/iter (± 1970498) 1.30
es/full/minify/libraries/echarts 2313308642 ns/iter (± 9717562) 2160416219 ns/iter (± 12358103) 1.07
es/full/minify/libraries/jquery 102468763 ns/iter (± 1607000) 89134250 ns/iter (± 278628) 1.15
es/full/minify/libraries/lodash 143645276 ns/iter (± 928231) 124533314 ns/iter (± 391432) 1.15
es/full/minify/libraries/moment 56903534 ns/iter (± 174817) 52370140 ns/iter (± 351694) 1.09
es/full/minify/libraries/react 18419218 ns/iter (± 504183) 17234842 ns/iter (± 41914) 1.07
es/full/minify/libraries/terser 552195786 ns/iter (± 6311267) 412639446 ns/iter (± 3364034) 1.34
es/full/minify/libraries/three 689913721 ns/iter (± 3303447) 512477045 ns/iter (± 6874615) 1.35
es/full/minify/libraries/typescript 4464823352 ns/iter (± 22912997) 4132645825 ns/iter (± 20659969) 1.08
es/full/minify/libraries/victory 880986198 ns/iter (± 2303101) 672852818 ns/iter (± 8441921) 1.31
es/full/minify/libraries/vue 164473737 ns/iter (± 3294321) 136107445 ns/iter (± 2153007) 1.21
es/full/codegen/es3 35236 ns/iter (± 162) 34398 ns/iter (± 189) 1.02
es/full/codegen/es5 35202 ns/iter (± 142) 34419 ns/iter (± 135) 1.02
es/full/codegen/es2015 35192 ns/iter (± 146) 34386 ns/iter (± 443) 1.02
es/full/codegen/es2016 35197 ns/iter (± 155) 34345 ns/iter (± 150) 1.02
es/full/codegen/es2017 35186 ns/iter (± 158) 34389 ns/iter (± 247) 1.02
es/full/codegen/es2018 35211 ns/iter (± 151) 34384 ns/iter (± 150) 1.02
es/full/codegen/es2019 35230 ns/iter (± 176) 34380 ns/iter (± 146) 1.02
es/full/codegen/es2020 35202 ns/iter (± 170) 34395 ns/iter (± 146) 1.02
es/full/all/es3 194802261 ns/iter (± 774359) 194627119 ns/iter (± 1413985) 1.00
es/full/all/es5 184302180 ns/iter (± 799605) 182297046 ns/iter (± 1152349) 1.01
es/full/all/es2015 146808764 ns/iter (± 680854) 147477502 ns/iter (± 1627184) 1.00
es/full/all/es2016 145682984 ns/iter (± 524036) 145162409 ns/iter (± 1692399) 1.00
es/full/all/es2017 145372659 ns/iter (± 768151) 145145705 ns/iter (± 1699322) 1.00
es/full/all/es2018 143299625 ns/iter (± 747859) 142831535 ns/iter (± 1443992) 1.00
es/full/all/es2019 142347145 ns/iter (± 648425) 142340888 ns/iter (± 1413232) 1.00
es/full/all/es2020 137191485 ns/iter (± 677915) 138999098 ns/iter (± 1775994) 0.99
es/full/parser 590120 ns/iter (± 73592) 576709 ns/iter (± 49874) 1.02
es/full/base/fixer 28133 ns/iter (± 363) 26925 ns/iter (± 207) 1.04
es/full/base/resolver_and_hygiene 139204 ns/iter (± 1867) 137687 ns/iter (± 1769) 1.01
serialization of ast node 181 ns/iter (± 1) 182 ns/iter (± 0) 0.99
serialization of serde 182 ns/iter (± 0) 182 ns/iter (± 0) 1

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.