fix(ci): Fix android build issue caused by NDK 21 -> 23 (#4942)

This commit is contained in:
LongYinan 2022-06-11 17:09:07 +08:00 committed by GitHub
parent ac7dac6198
commit 52e23470e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 63 additions and 95 deletions

View File

@ -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
@ -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
@ -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

68
Cargo.lock generated
View File

@ -1619,29 +1619,29 @@ checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389"
[[package]]
name = "napi"
version = "2.3.3"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c7806930f3d742fade085524e131dd4407c5bd68dff77086cf6b8ef300e0b12"
checksum = "ec369bd2ae196a21bb08fb53761e637862c3c0699da9cd21b6d954e32dda04b3"
dependencies = [
"ctor",
"lazy_static",
"napi-sys",
"serde",
"serde_json",
"windows",
"thread_local",
]
[[package]]
name = "napi-build"
version = "1.2.1"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebd4419172727423cf30351406c54f6cc1b354a2cfb4f1dba3e6cd07f6d5522b"
checksum = "882a73d9ef23e8dc2ebbffb6a6ae2ef467c0f18ac10711e4cc59c5485d41df0e"
[[package]]
name = "napi-derive"
version = "2.3.3"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35d20a0de501d6ca0b007d008fefbdc875bc8947b7ee85964cff4a975c83fafb"
checksum = "6c0308f2313ee504b032bad9c75343d967e6ba27be2e3f19e89bb0ee8786b5b0"
dependencies = [
"convert_case",
"napi-derive-backend",
@ -1652,9 +1652,9 @@ dependencies = [
[[package]]
name = "napi-derive-backend"
version = "1.0.30"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11a711157fd22437c2997896210abd4c5707f5e2d9f48de91cb6bb02b4a6cb6c"
checksum = "c97606e865ebfca1c5d0c952e34969ca26b3c8ba0c246c569a2fc945719a78ea"
dependencies = [
"convert_case",
"once_cell",
@ -1666,9 +1666,12 @@ dependencies = [
[[package]]
name = "napi-sys"
version = "2.1.0"
version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a385494dac3c52cbcacb393bb3b42669e7db8ab240c7ad5115f549eb061f2cc"
checksum = "529671ebfae679f2ce9630b62dd53c72c56b3eb8b2c852e7e2fa91704ff93d67"
dependencies = [
"libloading",
]
[[package]]
name = "native-tls"
@ -5133,19 +5136,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e53b97a83176b369b0eb2fd8158d4ae215357d02df9d40c1e1bf1879c5482c80"
dependencies = [
"windows_aarch64_msvc 0.36.1",
"windows_i686_gnu 0.36.1",
"windows_i686_msvc 0.36.1",
"windows_x86_64_gnu 0.36.1",
"windows_x86_64_msvc 0.36.1",
]
[[package]]
name = "windows-sys"
version = "0.32.0"
@ -5184,12 +5174,6 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807"
[[package]]
name = "windows_aarch64_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
[[package]]
name = "windows_i686_gnu"
version = "0.32.0"
@ -5202,12 +5186,6 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e"
[[package]]
name = "windows_i686_gnu"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
[[package]]
name = "windows_i686_msvc"
version = "0.32.0"
@ -5220,12 +5198,6 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0"
[[package]]
name = "windows_i686_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
[[package]]
name = "windows_x86_64_gnu"
version = "0.32.0"
@ -5238,12 +5210,6 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784"
[[package]]
name = "windows_x86_64_gnu"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
[[package]]
name = "windows_x86_64_msvc"
version = "0.32.0"
@ -5256,12 +5222,6 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa"
[[package]]
name = "windows_x86_64_msvc"
version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
[[package]]
name = "winreg"
version = "0.7.0"

View File

@ -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 }

View File

@ -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 }

View File

@ -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",

View File

@ -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"