diff --git a/.forgejo/workflows/pull_request.yml b/.forgejo/workflows/pull_request.yml new file mode 100644 index 0000000..630c2c6 --- /dev/null +++ b/.forgejo/workflows/pull_request.yml @@ -0,0 +1,73 @@ +name: Build & Test + +on: + pull_request: + push: + branches: [ main ] + +jobs: + validate: + runs-on: ubuntu-latest + name: 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: 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@v2 + - name: set up JDK + uses: https://git.wbrawner.com/actions/setup-java@v3 + 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 +# 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