Skip to content

Jonathanmuller/issue templates #1034

Jonathanmuller/issue templates

Jonathanmuller/issue templates #1034

Workflow file for this run

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