# 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/**" - "CMakeLists.txt" pull_request: paths: - "src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/**" - "CMakeLists.txt" workflow_dispatch: name: Build volk_gnsssdr 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@v4 - name: Update repositories run: sudo apt update - 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/ 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-24 \ ../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 }}