name: Build & Test on: pull_request: jobs: validate: runs-on: ubuntu-latest name: Validate steps: - uses: actions/checkout@v4 - name: set up JDK uses: https://git.wbrawner.com/actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Validate Gradle Wrapper uses: https://git.wbrawner.com/gradle/actions/wrapper-validation@v4 unit_tests: name: Run Unit Tests runs-on: ubuntu-latest needs: - validate steps: - uses: actions/checkout@v4 - name: set up JDK uses: https://git.wbrawner.com/actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Setup Android SDK uses: https://git.wbrawner.com/android-actions/setup-android@v3 - name: Setup Gradle uses: https://git.wbrawner.com/gradle/actions/setup-gradle@v4 - name: Run unit tests run: ./gradlew check - name: Publish JUnit Results uses: actions/upload-artifact@v3 if: always() with: name: Unit Test Results path: "*/build/reports/*" if-no-files-found: error ui_tests: runs-on: ubuntu-latest name: Run UI Tests needs: - unit_tests steps: - uses: actions/checkout@v4 - name: set up JDK uses: https://git.wbrawner.com/actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Setup Android SDK uses: https://git.wbrawner.com/android-actions/setup-android@v3 - name: Setup Gradle uses: https://git.wbrawner.com/gradle/actions/setup-gradle@v4 - name: Build APKs run: ./gradlew assemblePlayDebug assemblePlayDebugAndroidTest - name: Grant execute permission for flank_auth.sh run: chmod +x flank_auth.sh - name: Add auth for flank env: GCLOUD_KEY: ${{ secrets.GCLOUD_KEY }} run: | ./flank_auth.sh - name: Run UI tests run: ./gradlew runFlank