name: PR on: pull_request: defaults: run: shell: bash env: BUILD_DIRS_ARTIFACT: build-dirs GRADLE_OPTS: "-Dorg.gradle.jvmargs='-Xmx4g -XX:MaxMetaspaceSize=512m'" jobs: pre-commit: runs-on: ubuntu-latest steps: - name: Checkout the code uses: actions/checkout@v6 with: fetch-depth: 0 # Need the tags to build - name: Setup Python uses: actions/setup-python@v6 with: python-version: '3.14' - name: Run pre-commit uses: pre-commit/action@v3.0.1 build: runs-on: ubuntu-latest needs: pre-commit steps: - name: Checkout the code uses: actions/checkout@v6 with: fetch-depth: 0 # Need the tags to build - name: Setup uses: ./.github/actions/setup - name: Native build uses: ./.github/actions/native-build with: cache: true - name: Build app id: buildapp run: | ./gradlew clean assembleDebug bundleDebug testDebugUnitTest --no-daemon apks=$(find app/build/outputs \( -name '*.apk' -or -name '*.aab' \) -print0 | tr '\0' ',' | sed 's/,$//') echo "apks=$apks" >> "$GITHUB_OUTPUT" - name: Tar build dirs run: | tar -czf build.tgz ./app/. - uses: actions/upload-artifact@v6 id: upload-build-dirs with: name: "${{ env.BUILD_DIRS_ARTIFACT }}" path: build.tgz if-no-files-found: error - uses: actions/upload-artifact@v6 with: name: APKs path: "${{ steps.buildapp.outputs.apks }}" compression-level: 0 test-patch: runs-on: ubuntu-latest needs: pre-commit steps: - name: Checkout the code uses: actions/checkout@v5 with: fetch-depth: 1 - name: Test applying patch run: | git apply app/src/patches/play_store.patch git diff