name: Test on: push: branches: - "main" - "rc" - "hotfix-rc" pull_request_target: types: [opened, synchronize] env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} JAVA_VERSION: 17 jobs: check-run: name: Check PR run uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main test: name: Test runs-on: ubuntu-22.04 needs: check-run permissions: contents: read issues: write packages: read pull-requests: write steps: - name: Check out repo uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 with: ref: ${{ github.event.pull_request.head.sha }} - name: Validate Gradle wrapper uses: gradle/actions/wrapper-validation@db19848a5fa7950289d3668fb053140cf3028d43 # v3.3.2 - name: Cache Gradle files uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-v2-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/libs.versions.toml') }} restore-keys: | ${{ runner.os }}-gradle-v2- - name: Cache build output uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: | ${{ github.workspace }}/build-cache key: ${{ runner.os }}-build-cache-${{ github.sha }} restore-keys: | ${{ runner.os }}-build- - name: Configure Ruby uses: ruby/setup-ruby@0cde4689ba33c09f1b890c1725572ad96751a3fc # v1.178.0 with: bundler-cache: true - name: Configure JDK uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: distribution: "temurin" java-version: ${{ env.JAVA_VERSION }} - name: Build and test # Run checks on standard variant only because release and beta builds are not configured to # work properly with the Compose testing library. F-Droid related tasks are also skipped as # there is no significant code difference between the builds. run: | ./gradlew testStandardDebug \ lintStandardDebug \ detektStandardDebug \ koverXmlReportStandardDebug - name: Danger env: DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: bundle exec danger