-
-
Notifications
You must be signed in to change notification settings - Fork 109
106 lines (102 loc) · 3.42 KB
/
pull_request.yml
File metadata and controls
106 lines (102 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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