-
Notifications
You must be signed in to change notification settings - Fork 1
63 lines (53 loc) · 1.96 KB
/
push.yaml
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
name: Push
on:
pull_request:
push:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
name: Build
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- uses: gradle/actions/setup-gradle@v4
with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Setup signing
run: |
# Decode keystore and save in expected place
echo ${{ secrets.RELEASE_KEYSTORE_BASE64 }} > keystore_base64.txt
base64 -d -i keystore_base64.txt -o app/release.jks
# Retrieve other secrets and place in expected place
touch local.properties
echo "RELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }}" >> local.properties
echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> local.properties
echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> local.properties
cat local.properties
- name: Setup Firebase
run: |
# Decode the google-services.json from secrets
echo ${{ secrets.GOOGLE_SERVICES_JSON }} > google-services_base64.txt
base64 -d -i google-services_base64.txt -o app/google-services.json
- name: Run local tests
run: ./gradlew testDebug
- name: Assemble
run: ./gradlew assemble --stacktrace
- name: Upload APK (debug)
uses: actions/upload-artifact@v4
with:
name: apk-debug
path: app/build/outputs/apk/debug/app-debug.apk
- name: Upload APK (release)
uses: actions/upload-artifact@v4
with:
name: apk-release
path: app/build/outputs/apk/release/app-release.apk