name: Android CI on: push: branches: - main - staging - trying pull_request: branches: - main env: JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Fail on bad translations run: if grep -ri "<xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi - uses: gradle/wrapper-validation-action@v1 - name: set up OpenJDK 17 run: | sudo apt-get update sudo apt-get install -y openjdk-17-jdk-headless sudo update-alternatives --auto java - name: Build run: ./gradlew assembleRelease - name: Check lint run: ./gradlew lintRelease - name: Run unit tests run: timeout 5m ./gradlew testReleaseUnitTest || { ./gradlew --stop && timeout 5m ./gradlew testReleaseUnitTest; } - name: SpotBugs run: ./gradlew spotbugsRelease - name: Archive test results if: always() uses: actions/upload-artifact@v3 with: name: test-results path: app/build/reports