Jonathanmuller/issue templates #1034
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Treetracker Android App CI PR | |
| on: | |
| pull_request: | |
| branches: [ master, release* ] | |
| jobs: | |
| code-analysis: | |
| name: code analysis | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: 17 | |
| distribution: 'temurin' | |
| - name: Generate dummy property file | |
| run: | | |
| echo "#Treetracker API Keys | |
| treetracker_client_id=dummy-id | |
| treetracker_client_secret=dummy-secret | |
| s3_dev_identity_pool_id=dummy-pool-id-dev | |
| s3_test_identity_pool_id=dummy-pool-id-test" > treetracker.keys.properties | |
| - name: Run ktlint check | |
| run: bash ./gradlew ktlintCheck --stacktrace | |
| - name: Run detekt | |
| run: bash ./gradlew detekt --stacktrace | |
| - name: Delete dummy property file | |
| if: always() | |
| run: rm -f treetracker.keys.properties | |
| build: | |
| name: test and assemble | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: 17 | |
| distribution: 'temurin' | |
| - name: Generate dummy property file | |
| run: | | |
| echo "#Treetracker API Keys | |
| treetracker_client_id=dummy-id | |
| treetracker_client_secret=dummy-secret | |
| s3_dev_identity_pool_id=dummy-pool-id-dev | |
| s3_test_identity_pool_id=dummy-pool-id-test" > treetracker.keys.properties | |
| - name: Unit tests | |
| run: bash ./gradlew test --stacktrace | |
| - name: Upload build reports | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-reports | |
| path: | | |
| build/reports/ | |
| app/build/reports/ | |
| retention-days: 7 | |
| - name: Build Debug APK | |
| run: bash ./gradlew :app:assembleDebug | |
| - name: Delete dummy property file | |
| run: rm treetracker.keys.properties | |
| screenshot-tests: | |
| name: screenshot tests | |
| runs-on: ubuntu-latest | |
| # To gate merging on screenshot approval, add "screenshot tests" as a required | |
| # status check in your branch protection rules, then configure bypass actors | |
| # (e.g. maintainers) who are allowed to merge when screenshots have changed. | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: 17 | |
| distribution: 'temurin' | |
| - name: Generate dummy property file | |
| run: | | |
| echo "#Treetracker API Keys | |
| treetracker_client_id=dummy-id | |
| treetracker_client_secret=dummy-secret | |
| s3_dev_identity_pool_id=dummy-pool-id-dev | |
| s3_test_identity_pool_id=dummy-pool-id-test" > treetracker.keys.properties | |
| - name: Verify screenshots unchanged | |
| run: bash ./gradlew verifyRoborazziDebug --stacktrace | |
| - name: Upload screenshots | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: screenshots | |
| path: app/build/outputs/roborazzi/ | |
| retention-days: 14 | |
| - name: Upload build reports | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: screenshot-build-reports | |
| path: | | |
| build/reports/ | |
| app/build/reports/ | |
| retention-days: 7 | |
| - name: Delete dummy property file | |
| if: always() | |
| run: rm -f treetracker.keys.properties |