qa.yml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. name: "QA"
  2. on:
  3. pull_request:
  4. branches: [ master, stable-* ]
  5. permissions:
  6. pull-requests: write
  7. contents: read
  8. concurrency:
  9. group: qa-build-${{ github.head_ref || github.run_id }}
  10. cancel-in-progress: true
  11. jobs:
  12. qa:
  13. runs-on: ubuntu-latest
  14. steps:
  15. - name: Check if secrets are available
  16. run: echo "::set-output name=ok::${{ secrets.KS_PASS != '' }}"
  17. id: check-secrets
  18. - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3
  19. if: ${{ steps.check-secrets.outputs.ok == 'true' }}
  20. - name: set up JDK 17
  21. uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3
  22. if: ${{ steps.check-secrets.outputs.ok == 'true' }}
  23. with:
  24. distribution: "temurin"
  25. java-version: 17
  26. - name: Install NDK and cmake
  27. if: ${{ steps.check-secrets.outputs.ok == 'true' }}
  28. run: |
  29. source ndk.env
  30. /usr/local/lib/android/sdk/tools/bin/sdkmanager "ndk;${NDK_VERSION}" "cmake;${CMAKE_VERSION}"
  31. - name: Build QA
  32. if: ${{ steps.check-secrets.outputs.ok == 'true' }}
  33. env:
  34. KS_PASS: ${{ secrets.KS_PASS }}
  35. KEY_PASS: ${{ secrets.KEY_PASS }}
  36. LOG_USERNAME: ${{ secrets.LOG_USERNAME }}
  37. LOG_PASSWORD: ${{ secrets.LOG_PASSWORD }}
  38. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  39. run: |
  40. mkdir -p $HOME/.gradle
  41. echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > $HOME/.gradle/gradle.properties
  42. sed -i "/qa/,/\}/ s/versionCode .*/versionCode ${{github.event.number}} /" app/build.gradle
  43. sed -i "/qa/,/\}/ s/versionName .*/versionName \"${{github.event.number}}\"/" app/build.gradle
  44. ./gradlew assembleQaDebug
  45. $(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
  46. scripts/uploadArtifact.sh $LOG_USERNAME $LOG_PASSWORD ${{github.event.number}} ${{github.event.number}}