# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2022 Carles Fernandez-Prades on: push: paths: - 'src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/**' workflow_dispatch: pull_request: paths: - 'src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/**' workflow_dispatch: name: Build on Android NDK jobs: build: name: Build on Android NDK ${{ matrix.arch.name }} strategy: fail-fast: false matrix: arch: - { name: armeabi-v7a, allow_fail: false } - { name: arm64-v8a, allow_fail: false } - { name: x86, allow_fail: false } - { name: x86_64, allow_fail: false } runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.0.0 - name: Update repositories run: sudo apt update # All dependencies - name: Install dependencies run: sudo apt install -y cmake openjdk-11-jre-headless wget unzip make python3-mako # Setup Android SDK, and auto-accept licenses - name: Install Android SDK run: wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip && mkdir android-sdk-linux && unzip -qq android-sdk.zip -d android-sdk-linux && export ANDROID_HOME=./android-sdk-linux && echo y | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=android-sdk-linux --update && (echo y; echo y; echo y; echo y; echo y; echo y; echo y; echo y) | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=android-sdk-linux --licenses # Call SDKManager to install the Android NDK - name: Install Android NDK run: $GITHUB_WORKSPACE/android-sdk-linux/cmdline-tools/bin/sdkmanager --sdk_root=$GITHUB_WORKSPACE/android-sdk-linux --install "ndk;24.0.8215888" --channel=3 # Setup build directory - name: Setup ${{ matrix.arch.name }} shell: bash run: cd $GITHUB_WORKSPACE/ && mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/android-sdk-linux/ndk/24.0.8215888/build/cmake/android.toolchain.cmake -DANDROID_ABI=${{ matrix.arch.name }} -DANDROID_PLATFORM=android-23 ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr # Build - name: Build ${{ matrix.arch.name }} shell: bash run: cd $GITHUB_WORKSPACE/build && make continue-on-error: ${{ matrix.arch.allow_fail }}