name: Android

on:
  push:
    branches:
      - master

jobs:
  build:
    name: GPXSee
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: set up JDK 11
        uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '11'
      - name: Setup Android SDK
        uses: android-actions/setup-android@v3
        with:
          cmdline-tools-version: 9862592
      - name: Install android platform, build-tools and ndk
        run:  ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-33" "build-tools;33.0.0" "ndk;23.1.7779620"
      - name: Setup NDK path
        run: echo "ANDROID_NDK_ROOT=${ANDROID_HOME}/ndk/23.1.7779620/" >> $GITHUB_ENV
      - name: Install Qt (Desktop)
        uses: jurplel/install-qt-action@v4
        with:
          version: '6.4.0'
      - name: Install Qt (Android)
        uses: jurplel/install-qt-action@v4
        with:
          version: '6.4.0'
          target: 'android'
          arch: 'android_arm64_v8a'
          modules: qtimageformats qtpositioning qtserialport qt5compat
      - name: Install Android OpenSSL
        run:  git clone https://github.com/KDAB/android_openssl.git
      - name: Create localization
        run:  lrelease gpxsee.pro
      - name: Configure build
        run:  qmake gpxsee.pro OPENSSL_PATH=android_openssl 
      - name: Build project
        run:  make -j2 apk
      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: GPXSee-arm64_v8a.apk
          path: android-build/build/outputs/apk/debug/android-build-debug.apk