This repository was archived by the owner on Feb 21, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
101 lines (101 loc) · 4.59 KB
/
release.yml
File metadata and controls
101 lines (101 loc) · 4.59 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
on:
push:
tags: ['*']
name: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v5.0.0
-
name: Configure Java
uses: actions/setup-java@v4.7.1
with:
java-version: 17
distribution: oracle
-
name: Add sdkmanager to PATH
run: echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH
-
name: Install CMake
run: sdkmanager "cmake;4.0.2"
-
name: Keystore Setup
run: echo "${{secrets.ANDROID_KEYSTORE_64}}" | base64 --decode > ack_upload.keystore
-
name: Google Services Setup
run: echo '${{secrets.GOOGLE_SERVICES_JSON}}' > android-application/google-services.json
-
env:
ORG_GRADLE_PROJECT_signingFile: ack_upload.keystore
ORG_GRADLE_PROJECT_signingKeyPassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ORG_GRADLE_PROJECT_signingStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ORG_GRADLE_PROJECT_signingAlias: ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
ORG_GRADLE_PROJECT_mapboxPrivate: ${{ secrets.MAPBOX_KEY_PRIVATE }}
ORG_GRADLE_PROJECT_mapboxPublic: ${{ secrets.MAPBOX_KEY_PUBLIC }}
name: Build
run: ./gradlew check assembleRelease bundleRelease -Pcommit=${{ github.sha }} -PversionName=${{ github.ref_name }} -PversionCode=$((($GITHUB_RUN_NUMBER * 10) + $GITHUB_RUN_ATTEMPT))
-
name: Prepare Uploads
run: |
mkdir -p build
mkdir -p build/output
cp android-application/build/outputs/apk/functional/release/android-application-functional-release.apk build/output/Ack-${{ github.ref_name }}.apk
cp android-application/build/outputs/bundle/functionalRelease/android-application-functional-release.aab build/output/Ack-${{ github.ref_name }}.aab
-
name: Archive APK
uses: actions/upload-artifact@v4.6.2
with:
name: Android APK
path: build/output/Ack-${{ github.ref_name }}.apk
-
name: Archive Bundle
uses: actions/upload-artifact@v4.6.2
with:
name: Android AAB
path: build/output/Ack-${{ github.ref_name }}.aab
-
name: Service Account Setup
run: echo '${{secrets.PLAY_CONSOLE_SERVICE_JSON}}' > service_account.json
-
name: Create Release
id: create_release
uses: actions/create-release@v1.1.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref_name }}
draft: true
prerelease: false
-
name: Upload AAB Release Asset
uses: actions/upload-release-asset@v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: build/output/Ack-${{ github.ref_name }}.aab
asset_name: Ack-${{ github.ref_name }}.aab
asset_content_type: application/octet-stream
-
name: Upload APK Release Asset
uses: actions/upload-release-asset@v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: build/output/Ack-${{ github.ref_name }}.apk
asset_name: Ack-${{ github.ref_name }}.apk
asset_content_type: application/octet-stream
-
name: Deploy to Play Store
uses: r0adkll/upload-google-play@v1.0.15
continue-on-error: true
with:
serviceAccountJson: service_account.json
packageName: com.inkapplications.ack.android
releaseFile: build/output/Ack-${{ github.ref_name }}.aab
track: internal