-
Notifications
You must be signed in to change notification settings - Fork 3
57 lines (49 loc) · 2.17 KB
/
playstore-internal.yml
File metadata and controls
57 lines (49 loc) · 2.17 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
name: Publish to Play Store Internal Track
on:
workflow_dispatch:
push:
branches: [ 'release/**' ]
# Cancel any in-progress runs of this workflow if a new run is triggered within the same branch or PR
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
runs-on: macos-latest # use [ self-hosted, macOS ] to host on our own mac mini, which is twice as fast and cheaper than hosting on a github runner. See README for more info.
steps:
- uses: actions/checkout@v4
- name: Prepare Release
uses: ./.github/actions/prepare-release
# This will decode the keystore from base 64 text representation that we have stored in secrets
# and generates a keystore file and gets stored in /android-app path
- name: Decode Keystore
env:
ENCODED_STRING: ${{ secrets.KEYSTORE_BASE_64 }}
shell: bash
run: |
echo $ENCODED_STRING > keystore-b64.txt
base64 -d <keystore-b64.txt >upload-keystore.jks
# The secrets.gradle file that is stored as text, does not need to be decoded
# and can be directly written to a file
# This file is used by the gradle build to sign the AAB
- name: Create secrets.gradle
run: echo "${{ secrets.SECRETS_GRADLE }}" > secrets.gradle
- name: Build Prod Release Bundle
run: ./gradlew bundleProdRelease --stacktrace
- name: Upload Release Bundle to Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.event.repository.name }}-${{ github.run_number }}-prod-release-bundle
path: |
${{ github.workspace }}/app/build/outputs/bundle/prodRelease/app-prod-release.aab
- name: Upload to Play Store Internal Track
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.PLAYSTORE_SERVICE_ACCOUNT_JSON }}
packageName: nl.q42.template
releaseFiles: ${{ github.workspace }}/app/build/outputs/bundle/prodRelease/app-prod-release.aab
track: internal
status: completed
inAppUpdatePriority: 2