wip #218
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build - Android | |
| on: [push, pull_request, workflow_dispatch] | |
| env: | |
| TOOLS_URL: https://github.com/mmatyas/pegasus-frontend/releases/download/alpha1 | |
| QT_TARGET: android | |
| QT_VERSION: qt51510 | |
| QT_VERSION_PRETTY: "5.15.10" | |
| jobs: | |
| android: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - name: android | |
| abi: armeabi-v7a | |
| - name: android64 | |
| abi: arm64-v8a | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: {submodules: 'recursive', fetch-depth: 0, fetch-tags: true} | |
| - uses: nttld/setup-ndk@v1 | |
| id: setup-ndk | |
| with: | |
| ndk-version: r21e | |
| - name: Install Qt | |
| run: | | |
| .circleci/prepare.sh | |
| curl -L ${TOOLS_URL}/openssl-111t_android.tar.xz | tar xJf - -C /opt/ | |
| - name: Build | |
| env: | |
| BUILDOPTS: ANDROID_ABIS=${{ matrix.abi }} FORCE_QT_PNG=1 | |
| ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_LATEST_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| run: .circleci/build.sh | |
| - name: Package (debug) | |
| if: (github.event_name != 'push' && github.event_name != 'workflow_dispatch') || github.ref != 'refs/heads/master' | |
| env: | |
| ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| ANDROID_NDK_LATEST_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
| run: /opt/${QT_VERSION}_${QT_TARGET}/bin/androiddeployqt | |
| --input src/app/android-pegasus-fe-deployment-settings.json | |
| --output ${PWD}/installdir | |
| --android-platform android-30 | |
| --gradle | |
| - name: Package (debug), stage | |
| if: (github.event_name != 'push' && github.event_name != 'workflow_dispatch') || github.ref != 'refs/heads/master' | |
| run: cp | |
| installdir/build/outputs/apk/debug/installdir-debug.apk | |
| dist/pegasus-fe_$(git describe --always)_${{ matrix.name }}.apk | |
| - name: Package (release), prep | |
| if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master' | |
| run: | | |
| curl -LO https://github.com/mmatyas/pegasus-frontend/releases/download/alpha1/aks.enc | |
| openssl aes-256-cbc -k "${{ secrets.AKS_ENC_KEY }}" -in aks.enc -out aks -d | |
| - name: Package (release) | |
| if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master' | |
| run: /opt/${QT_VERSION}_${QT_TARGET}/bin/androiddeployqt | |
| --input src/app/android-pegasus-fe-deployment-settings.json | |
| --output ${PWD}/installdir | |
| --android-platform android-30 | |
| --gradle | |
| --sign ./aks "${{ secrets.AKS_ALIAS }}" | |
| --storepass "${{ secrets.AKS_STOREPASS }}" | |
| --keypass "${{ secrets.AKS_KEYPASS }}" | |
| - name: Package (release), stage | |
| if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master' | |
| run: cp | |
| installdir/build/outputs/apk/release/installdir-release-signed.apk | |
| dist/pegasus-fe_$(git describe --always)_${{ matrix.name }}.apk | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.name }} | |
| path: dist | |
| - name: Deploy | |
| if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master' | |
| uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| external_repository: mmatyas/pegasus-deploy-staging | |
| personal_token: ${{ secrets.PEGASUS_GHACTIONS_TOKEN }} | |
| publish_branch: continuous-${{ matrix.name }} | |
| publish_dir: ./dist | |
| force_orphan: true |