name: Build & Test on: pull_request: push: branches: [ main ] 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 # TODO: Uncomment the following once I get UI tests written # ui_tests: # runs-on: ubuntu-latest # name: Run UI Tests # needs: # - validate # steps: # - uses: actions/checkout@v2 # - name: set up JDK # uses: https://git.wbrawner.com/actions/setup-java@v3 # with: # distribution: 'zulu' # java-version: '17' # - name: Build with Gradle # uses: https://git.wbrawner.com/gradle/gradle-build-action@v2 # with: # arguments: assembleDebug assembleDebugAndroidTest # - 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 # uses: https://git.wbrawner.com/gradle/gradle-build-action@v2 # with: # arguments: runFlank