Document temporary Play Protect pause for APK installation #12
Workflow file for this run
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: CI | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| android: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| - uses: gradle/actions/setup-gradle@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "3.4.10" | |
| bundler-cache: true | |
| - name: Install Android SDK components | |
| run: | | |
| sdkmanager="$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" | |
| if [[ ! -x "$sdkmanager" ]]; then | |
| echo "Android SDK manager is unavailable: $sdkmanager" >&2 | |
| exit 1 | |
| fi | |
| "$sdkmanager" "platforms;android-36" "build-tools;36.0.0" | |
| - run: bundle exec fastlane android checks | |
| - name: Publish test and lint reports | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: android-test-reports | |
| path: | | |
| app/build/reports/tests/ | |
| app/build/test-results/ | |
| app/build/reports/lint-results-* | |
| if-no-files-found: warn | |
| retention-days: 14 | |
| - uses: actions/upload-artifact@v7 | |
| id: apk | |
| with: | |
| name: message487-builds | |
| path: | | |
| app/build/outputs/apk/**/*.apk | |
| app/build/outputs/bundle/**/*.aab | |
| if-no-files-found: error | |
| retention-days: 14 | |
| - name: Link build artifacts | |
| env: | |
| ARTIFACT_URL: ${{ steps.apk.outputs.artifact-url }} | |
| run: echo "[Download debug APK and unsigned release APK/AAB]($ARTIFACT_URL)" >> "$GITHUB_STEP_SUMMARY" | |
| python: | |
| name: Python tests and style | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "3.4.10" | |
| bundler-cache: true | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: requirements-dev.txt | |
| - run: python -m pip install -r requirements-dev.txt | |
| - run: bundle exec fastlane android python_checks | |
| dev-server: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - run: docker compose -f DevServer/compose.yaml up -d --wait --wait-timeout 300 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "3.4.10" | |
| bundler-cache: true | |
| - run: bundle exec fastlane android server_tests | |
| - name: Server logs | |
| if: failure() | |
| run: docker compose -f DevServer/compose.yaml logs --tail 150 | |
| - name: Stop server | |
| if: always() | |
| run: docker compose -f DevServer/compose.yaml down |