@@ -131,6 +131,61 @@ jobs:
131
131
- run : cargo test ${{ matrix.args }}
132
132
shell : alpine.sh {0}
133
133
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
+
134
189
test-libbpf-rs :
135
190
# check that libbpf-rs, one of the main consumers of the library, works with
136
191
# this version of libbpf-sys
@@ -174,6 +229,7 @@ jobs:
174
229
needs :
175
230
- test-gnu
176
231
- test-musl
232
+ - test-android
177
233
- test-libbpf-rs
178
234
runs-on : ubuntu-22.04
179
235
steps :
0 commit comments