-
Notifications
You must be signed in to change notification settings - Fork 22
64 lines (56 loc) · 2.49 KB
/
release.yml
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
name: Release Android to Google Play Store
on:
push:
branches-ignore:
- '**'
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: zulu
cache: gradle
- name: Decode Keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > app/keystore.jks
echo "KEYSTORE_PATH=$(pwd)/app/keystore.jks" >> $GITHUB_ENV
- name: Generate secret.properties
env:
PUSH_TO_FCM_AUTH: ${{ secrets.PUSH_TO_FCM_AUTH }}
PUSH_TO_FCM_PUBLIC_KEY: ${{ secrets.PUSH_TO_FCM_PUBLIC_KEY }}
PUSH_TO_FCM_SERVER_BASE_URL: ${{ secrets.PUSH_TO_FCM_SERVER_BASE_URL }}
run: |
echo "push_to_fcm.server_base_url=${PUSH_TO_FCM_SERVER_BASE_URL}" >> ./secret.properties
echo "push_to_fcm.public_key=${PUSH_TO_FCM_PUBLIC_KEY}" >> ./secret.properties
echo "push_to_fcm.auth=${PUSH_TO_FCM_AUTH}" >> ./secret.properties
- name: Get the version tag
run: echo "ORG_GRADLE_PROJECT_VERSION_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Restore publish json key and write to ANDROID_PUBLISHER_CREDENTIALS
run: |
echo "${{ secrets.ANDROID_PUBLISHER_CREDENTIALS_BASE64 }}" | base64 --decode > app/google-play-publisher.json
echo "ANDROID_PUBLISHER_CREDENTIALS_FILE=$(pwd)/app/google-play-publisher.json" >> $GITHUB_ENV
# run: |
# JSON_CONTENT="$(echo "${{ secrets.ANDROID_PUBLISHER_CREDENTIALS_BASE64 }}" | base64 --decode)"
# echo "ANDROID_PUBLISHER_CREDENTIALS=$JSON_CONTENT" >> $GITHUB_ENV
- name: Calculate version code
run: echo "ORG_GRADLE_PROJECT_VERSION_CODE=$((${{ github.run_number }} + 3000))" >> $GITHUB_ENV
- name: Assemble release build and publish
env:
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
run: |
./gradlew publishBundle \
-Pandroid.injected.signing.store.file=$KEYSTORE_PATH \
-Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \
-Pandroid.injected.signing.key.alias=$ALIAS \
-Pandroid.injected.signing.key.password=$KEY_PASSWORD