diff --git a/.forgejo/workflows/pull_request.yml b/.forgejo/workflows/pull_request.yml new file mode 100644 index 0000000..7299bee --- /dev/null +++ b/.forgejo/workflows/pull_request.yml @@ -0,0 +1,72 @@ +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@v3 + 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: Run unit tests + uses: https://git.wbrawner.com/gradle/actions/setup-gradle@v3 + with: + arguments: 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: + - 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: 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 + uses: https://git.wbrawner.com/gradle/gradle-build-action@v2 + with: + arguments: runFlank