- linux-clang
- macos
- linux-i686-gcc
+ - android
include:
- build: linux-gcc
os: ubuntu-20.04
- build: linux-i686-gcc
os: ubuntu-20.04
arch: i686
+ - build: android
+ os: ubuntu-20.04
+ arch: aarch64-linux-android32
env:
+ CI_TARGET_BUILD: ${{ matrix.build }}
CI_TARGET_ARCH: ${{ matrix.arch }}
CC: ${{ matrix.cc }}
local configure_flags=()
set_ci_target_os
- case "${CI_TARGET_OS}" in
- "linux")
+ case "${CI_TARGET_BUILD}/${CI_TARGET_OS}" in
+ android/*)
+ export UNAME=Android
+ if [ -z "${CI_TARGET_ARCH}" ]; then
+ echo "Error: CI_TARGET_ARCH has not been set"
+ return 1
+ fi
+ NDK=$PWD/android-ndk-r24/toolchains/llvm/prebuilt/linux-x86_64/bin
+ export PATH="${NDK}:${PATH}"
+ export LIBS="-landroid"
+ CC=${NDK}/${CI_TARGET_ARCH}-clang
+ if [ ! -e "${CC}" ]; then
+ echo "Error: could not find ${CC}"
+ return 1
+ fi
+ ;;
+ */linux)
case "${CI_TARGET_ARCH}" in
"i686")
extra_cflags="${extra_cflags} -m32"
set -eu
main() {
+ [ "${CI_TARGET_BUILD}" = android ] && return 0
+
echo "Running long running tests..."
export PYTHONUNBUFFERED="TRUE"
if [[ "${CI_TARGET_ARCH}" == "arm64" ]]; then
}
main() {
+ if [ "${CI_TARGET_BUILD}" = "android" ]; then
+ echo "Installing Android NDK..."
+ wget --quiet https://dl.google.com/android/repository/android-ndk-r24-linux.zip
+ unzip -q android-ndk-r24-linux.zip
+ return 0
+ fi
+
set_ci_target_os
install_function="install_${CI_TARGET_OS}"
set -eu
main() {
+ [ "${CI_TARGET_BUILD}" = "android" ] && return 0
+
echo "Running smoke tests..."
make test
}