name: "QA" on: pull_request: branches: [ master, stable-* ] permissions: pull-requests: write contents: read concurrency: group: qa-build-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: qa: runs-on: ubuntu-latest steps: - name: Check if secrets are available run: echo "::set-output name=ok::${{ secrets.KS_PASS != '' }}" id: check-secrets - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 if: ${{ steps.check-secrets.outputs.ok == 'true' }} - name: set up JDK 17 uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3 if: ${{ steps.check-secrets.outputs.ok == 'true' }} with: distribution: "temurin" java-version: 17 - name: Install NDK and cmake if: ${{ steps.check-secrets.outputs.ok == 'true' }} run: | source ndk.env /usr/local/lib/android/sdk/tools/bin/sdkmanager "ndk;${NDK_VERSION}" "cmake;${CMAKE_VERSION}" - name: Build QA if: ${{ steps.check-secrets.outputs.ok == 'true' }} env: KS_PASS: ${{ secrets.KS_PASS }} KEY_PASS: ${{ secrets.KEY_PASS }} LOG_USERNAME: ${{ secrets.LOG_USERNAME }} LOG_PASSWORD: ${{ secrets.LOG_PASSWORD }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | mkdir -p $HOME/.gradle echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > $HOME/.gradle/gradle.properties sed -i "/qa/,/\}/ s/versionCode .*/versionCode ${{github.event.number}} /" app/build.gradle sed -i "/qa/,/\}/ s/versionName .*/versionName \"${{github.event.number}}\"/" app/build.gradle ./gradlew assembleQaDebug $(find /usr/local/lib/android/sdk/build-tools/*/apksigner | sort | tail -n1) sign --ks-pass pass:$KS_PASS --key-pass pass:$KEY_PASS --ks-key-alias key0 --ks scripts/QA_keystore.jks app/build/outputs/apk/qa/debug/qa-debug-*.apk scripts/uploadArtifact.sh $LOG_USERNAME $LOG_PASSWORD ${{github.event.number}} ${{github.event.number}}