name: Android Release on: push: branches: - 'master' pull_request: branches: - '*' defaults: run: shell: bash env: SOURCE_DIR: ${{ github.workspace }} QT_VERSION: 5.15.2 jobs: build: runs-on: ubuntu-20.04 steps: - name: Checkout repo uses: actions/checkout@v2 with: submodules: recursive - name: Get all tags for correct version determination working-directory: ${{ github.workspace }} run: | git fetch --unshallow git fetch --all --tags - name: Install Qt uses: jurplel/install-qt-action@v2 with: version: ${{ env.QT_VERSION }} host: linux target: android dir: ${{ runner.temp }} modules: qtcharts setup-python: true - name: Install ccache run: sudo apt-get install ccache - name: Prepare ccache timestamp id: ccache_cache_timestamp shell: cmake -P {0} run: | string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) message("::set-output name=timestamp::${current_date}") - name: ccache cache files uses: actions/cache@v2 with: path: ~/.ccache key: ${{ runner.os }}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}} restore-keys: ${{ runner.os }}-ccache- - name: Setup ccache run: | mkdir -p ~/.ccache echo "base_dir = ${GITHUB_WORKSPACE}" > ~/.ccache/ccache.conf echo "compression = true" >> ~/.ccache/ccache.conf echo "compression_level = 5" >> ~/.ccache/ccache.conf ccache -s ccache -z - name: Create build directory run: mkdir ${{ runner.temp }}/shadow_build_dir - name: Install gstreamer working-directory: ${{ github.workspace }} run: | wget --quiet https://gstreamer.freedesktop.org/data/pkg/android/1.18.5/gstreamer-1.0-android-universal-1.18.5.tar.xz mkdir gstreamer-1.0-android-universal-1.18.5 tar xf gstreamer-1.0-android-universal-1.18.5.tar.xz -C gstreamer-1.0-android-universal-1.18.5 - name: Git branch name id: git-branch-name uses: EthanSK/git-branch-name-action@v1 - name: Update android manifest run: | if [ $GIT_BRANCH_NAME != "Stable*" ]; then ${SOURCE_DIR}/tools/update_android_manifest_package.sh ${GIT_BRANCH_NAME} fi - name: Build working-directory: ${{ runner.temp }}/shadow_build_dir run: | if [ $GIT_BRANCH_NAME == "Stable*" ]; then echo "Stable build" && export STABLE_OR_DAILY=StableBuild; else echo "Daily build" && export STABLE_OR_DAILY=DailyBuild; fi qmake -r ${SOURCE_DIR}/qgroundcontrol.pro -spec android-clang CONFIG+=${STABLE_OR_DAILY} ANDROID_ABIS="armeabi-v7a arm64-v8a" make -j2 apk - name: ccache post-run run: ccache -s # Currently disabled since credentials are not working correctly - name: Upload to S3 Bucket if: ${{ false }} working-directory: ${{ runner.temp }}/shadow_build_dir/package run: | aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws s3 cp ${ARTIFACT} s3://groundcontrol/master --region us-west-2 --acl public-read