From 438a462bdf28f786639bea013f2eda4b29d80e54 Mon Sep 17 00:00:00 2001 From: Enginex0 Date: Wed, 11 Mar 2026 00:12:02 +0100 Subject: [PATCH] ci(build): add Rust toolchain and cargo-ndk for native-certgen Gradle's buildRustCertgen task requires cargo-ndk and Android NDK targets to cross-compile libcertgen.so. Without these, CI fails on any commit after 32cfcb3 which wired the Rust crate into the pipeline. --- .github/workflows/build.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4d4e30f..0276482 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,6 +45,26 @@ jobs: java-version: 21 cache: 'gradle' + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android + + - name: Cache Rust artifacts + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + ~/.cargo/bin/cargo-ndk + native-certgen/target + key: rust-${{ runner.os }}-${{ hashFiles('native-certgen/Cargo.lock') }} + restore-keys: | + rust-${{ runner.os }}- + + - name: Install cargo-ndk + run: command -v cargo-ndk || cargo install cargo-ndk + - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -60,7 +80,6 @@ jobs: - name: Build with Gradle run: | chmod +x ./gradlew - ./gradlew zipRelease zipDebug -Porg.gradle.parallel=true -Porg.gradle.vfs.watch=true -Dorg.gradle.jvmargs=-Xmx2048m - name: Prepare artifact