From ddca839dd86961143274757ce1bd62a446f0bcc6 Mon Sep 17 00:00:00 2001 From: TriForMine Date: Thu, 28 May 2026 22:48:12 +0200 Subject: [PATCH] fix(ci,jni): install Rust Android targets before JNI builds --- .github/workflows/android-jni.yml | 6 +++++- Cargo.lock | 4 ++++ apps/expo-glyphnet/scripts/build-glyphnet-jni-android.sh | 3 +++ crates/glyphnet-wasm/Cargo.toml | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android-jni.yml b/.github/workflows/android-jni.yml index a3b5fdc..3a8ac1a 100644 --- a/.github/workflows/android-jni.yml +++ b/.github/workflows/android-jni.yml @@ -30,6 +30,11 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable + - name: Install Rust Android targets + run: | + rustup target add aarch64-linux-android + rustup target add armv7-linux-androideabi + rustup target add x86_64-linux-android - uses: Swatinem/rust-cache@v2 - name: Setup Java uses: actions/setup-java@v4 @@ -61,4 +66,3 @@ jobs: name: glyphnet-android-jni-libs path: out/jniLibs if-no-files-found: error - diff --git a/Cargo.lock b/Cargo.lock index e34b425..9b88747 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -934,6 +934,7 @@ dependencies = [ "glyphnet-render", "glyphnet-scanner", "image", + "instant", "serde", "serde_json", "time", @@ -1036,6 +1037,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] diff --git a/apps/expo-glyphnet/scripts/build-glyphnet-jni-android.sh b/apps/expo-glyphnet/scripts/build-glyphnet-jni-android.sh index 34723a6..73fec62 100644 --- a/apps/expo-glyphnet/scripts/build-glyphnet-jni-android.sh +++ b/apps/expo-glyphnet/scripts/build-glyphnet-jni-android.sh @@ -11,6 +11,9 @@ if ! command -v cargo-ndk >/dev/null 2>&1; then exit 0 fi +echo "Ensuring Rust Android targets are installed..." +rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" WORKSPACE_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)" OUT_ROOT="${WORKSPACE_ROOT}/apps/expo-glyphnet/modules/glyphnet-scanner/android/src/main/jniLibs" diff --git a/crates/glyphnet-wasm/Cargo.toml b/crates/glyphnet-wasm/Cargo.toml index 0727eaf..8b421b9 100644 --- a/crates/glyphnet-wasm/Cargo.toml +++ b/crates/glyphnet-wasm/Cargo.toml @@ -26,6 +26,7 @@ time.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen.workspace = true +instant = { version = "0.1.13", features = ["wasm-bindgen"] } [features] default = ["svg"]