Skip to content

Commit 3b80f23

Browse files
committed
feat: Add Android test job
1 parent 03ec160 commit 3b80f23

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

.github/workflows/ci.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)