Add Android aarch64/armv7 targets to release builds
Adds ARMv8 (aarch64-linux-android) and ARMv7 (armv7-linux-androideabi) builds for Termux/Android using the Android NDK r27c. Release artifacts now include btest-android-aarch64.tar.gz and btest-android-armv7.tar.gz. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update && apt-get install -y --no-install-recommends \
|
||||
git curl jq ca-certificates zip \
|
||||
git curl jq ca-certificates zip unzip \
|
||||
musl-tools \
|
||||
gcc-aarch64-linux-gnu \
|
||||
gcc-arm-linux-gnueabihf \
|
||||
@@ -23,7 +23,14 @@ jobs:
|
||||
x86_64-unknown-linux-musl \
|
||||
aarch64-unknown-linux-musl \
|
||||
armv7-unknown-linux-musleabihf \
|
||||
x86_64-pc-windows-gnu
|
||||
x86_64-pc-windows-gnu \
|
||||
aarch64-linux-android \
|
||||
armv7-linux-androideabi
|
||||
# Install Android NDK for cross-compilation
|
||||
NDK_VER=r27c
|
||||
curl -sL https://dl.google.com/android/repository/android-ndk-${NDK_VER}-linux.zip -o /tmp/ndk.zip
|
||||
unzip -q /tmp/ndk.zip -d /opt && rm /tmp/ndk.zip
|
||||
export ANDROID_NDK_HOME=/opt/android-ndk-${NDK_VER}
|
||||
|
||||
- name: Ensure code is present
|
||||
run: |
|
||||
@@ -47,6 +54,12 @@ jobs:
|
||||
|
||||
[target.x86_64-pc-windows-gnu]
|
||||
linker = "x86_64-w64-mingw32-gcc"
|
||||
|
||||
[target.aarch64-linux-android]
|
||||
linker = "/opt/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android35-clang"
|
||||
|
||||
[target.armv7-linux-androideabi]
|
||||
linker = "/opt/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi35-clang"
|
||||
TOML
|
||||
|
||||
- name: Build Linux x86_64
|
||||
@@ -61,6 +74,12 @@ jobs:
|
||||
- name: Build Windows x86_64
|
||||
run: cargo build --release --target x86_64-pc-windows-gnu
|
||||
|
||||
- name: Build Android aarch64 (ARMv8)
|
||||
run: cargo build --release --target aarch64-linux-android
|
||||
|
||||
- name: Build Android armv7 (ARMv7)
|
||||
run: cargo build --release --target armv7-linux-androideabi
|
||||
|
||||
- name: Package all
|
||||
run: |
|
||||
mkdir -p /artifacts
|
||||
@@ -81,6 +100,14 @@ jobs:
|
||||
zip /artifacts/btest-windows-x86_64.zip btest.exe
|
||||
cd -
|
||||
|
||||
cd target/aarch64-linux-android/release
|
||||
tar czf /artifacts/btest-android-aarch64.tar.gz btest
|
||||
cd -
|
||||
|
||||
cd target/armv7-linux-androideabi/release
|
||||
tar czf /artifacts/btest-android-armv7.tar.gz btest
|
||||
cd -
|
||||
|
||||
cd /artifacts
|
||||
sha256sum * > checksums-sha256.txt
|
||||
cat checksums-sha256.txt
|
||||
@@ -103,6 +130,8 @@ jobs:
|
||||
| Linux | aarch64 (RPi 64-bit) | btest-linux-aarch64.tar.gz |
|
||||
| Linux | armv7 (RPi 32-bit) | btest-linux-armv7.tar.gz |
|
||||
| Windows | x86_64 | btest-windows-x86_64.zip |
|
||||
| Android | aarch64 (ARMv8, Termux) | btest-android-aarch64.tar.gz |
|
||||
| Android | armv7 (ARMv7, Termux) | btest-android-armv7.tar.gz |
|
||||
| macOS | aarch64 / x86_64 | Run \`scripts/build-macos-release.sh --upload ${TAG}\` |
|
||||
| Docker | x86_64 | \`docker pull ${REGISTRY}/manawenuz/btest-rs:${TAG}\` |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user