@@ -131,6 +131,61 @@ jobs:
131131 - run : cargo test ${{ matrix.args }}
132132 shell : alpine.sh {0}
133133
134+ test-android :
135+ name : Test on Android
136+ strategy :
137+ matrix :
138+ include :
139+ - rust-target : aarch64-linux-android
140+ os-arch : amd64
141+
142+ runs-on : ubuntu-20.04
143+
144+ env :
145+ CARGO_BUILD_TARGET : ${{ matrix.rust-target }}
146+ CARGO_TERM_VERBOSE : ' true'
147+
148+ steps :
149+ - name : Checkout repository
150+ uses : actions/checkout@v3
151+ with :
152+ submodules : recursive
153+
154+ - name : Install system dependencies
155+ run : |
156+ sudo apt-get update
157+ sudo apt-get -y install \
158+ gawk \
159+ flex \
160+ bison \
161+ clang \
162+ automake \
163+ autopoint \
164+ gcc-multilib \
165+ build-essential
166+
167+ - name : Install Rust stable for ${{ matrix.rust-target }}
168+ uses : dtolnay/rust-toolchain@stable
169+ with :
170+ targets : ${{ matrix.rust-target }}
171+
172+ - name : Install Android NDK
173+ uses : nttld/setup-ndk@v1
174+ id : setup-ndk
175+ with :
176+ ndk-version : r26d
177+ # local-cache: true
178+ # add-to-path: false
179+
180+ - name : Cargo test no run
181+ run : cargo test --no-run
182+ if : matrix.rust-target == 'aarch64-linux-android'
183+ env :
184+ RUSTFLAGS : -C linker=${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang
185+ AR_aarch64_linux_android : ${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
186+ CC_aarch64_linux_android : ${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang
187+ CXX_aarch64_linux_android : ${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang++
188+
134189 test-libbpf-rs :
135190 # check that libbpf-rs, one of the main consumers of the library, works with
136191 # this version of libbpf-sys
@@ -174,6 +229,7 @@ jobs:
174229 needs :
175230 - test-gnu
176231 - test-musl
232+ - test-android
177233 - test-libbpf-rs
178234 runs-on : ubuntu-22.04
179235 steps :
0 commit comments