mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Add Android to the CI build matrix (#2165)
Support building for Android on Arm and AArch64 platforms. Modify the build matrix to add to new variations. Both variants download, extract and setup the Android Native Development Kit (NDK) on a Linux runner. Each variant specifies a `android_arch_abi`, which is passed to CMake during configuration as its `CMAKE_ANDROID_ARCH_ABI` option. The CMake toolchain file provided by the NDK is used when building for Android. The NDK version used is r27c, which is the latest Long-Term Support (LTS) version. `ANDROID_PLATFORM` is intentionally not set, so the NDK can default to the minimum supported version, which is 21. The compiler (Clang) version used by this NDK is 18.0.3. The NDK ships with its own sysroot, which has the Linux kernel headers of version 6.8.0, or `LINUX_VERSION_CODE 395264`. CMake https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#id23 https://cmake.org/cmake/help/latest/variable/CMAKE_ANDROID_ARCH_ABI.html NDK https://developer.android.com/ndk/downloads
This commit is contained in:
17
.github/workflows/presubmit.yml
vendored
17
.github/workflows/presubmit.yml
vendored
@@ -27,6 +27,14 @@ jobs:
|
||||
arch: aarch64
|
||||
debug: 1
|
||||
extra: " debug"
|
||||
- os: ubuntu-22.04
|
||||
mainmatrix: false
|
||||
arch: android-arm
|
||||
android_arch_abi: armeabi-v7a
|
||||
- os: ubuntu-22.04
|
||||
mainmatrix: false
|
||||
arch: android-aarch64
|
||||
android_arch_abi: arm64-v8a
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup Ninja
|
||||
@@ -66,6 +74,15 @@ jobs:
|
||||
with:
|
||||
version: 1.3.275.0
|
||||
cache: true
|
||||
- name: Install Android NDK
|
||||
if: ${{ matrix.arch == 'android-arm' || matrix.arch == 'android-aarch64' }}
|
||||
run: |
|
||||
wget https://dl.google.com/android/repository/android-ndk-r27c-linux.zip -O android-ndk.zip
|
||||
unzip android-ndk.zip -d $HOME
|
||||
export ANDROID_NDK=$HOME/android-ndk-r27c
|
||||
echo "ANDROID_NDK=$ANDROID_NDK" >> $GITHUB_ENV
|
||||
export ANDROID_ARCH_ABI=${{ matrix.android_arch_abi }}
|
||||
echo "ANDROID_ARCH_ABI=$ANDROID_ARCH_ABI" >> $GITHUB_ENV
|
||||
- name: Build
|
||||
shell: bash
|
||||
run: ./presubmit.sh
|
||||
|
||||
Reference in New Issue
Block a user