-
-
Notifications
You must be signed in to change notification settings - Fork 0
93 lines (89 loc) · 4.03 KB
/
flutter-workflow-android.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
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
name: Flutter CI (Android)
on:
push:
# branches:
# - master
tags:
- "v*"
jobs:
build:
runs-on: [self-hosted, linux]
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
ALIAS_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
Pusher_Instance_Id: ${{ secrets.PROD_PUSHER_INSTANCE_ID }}
GetStream_Chat_Api_Key: ${{ secrets.PROD_GETSTREAM_CHAT_API_KEY }}
Twitter_Token: ${{ secrets.TWITTER_TOKEN }}
Twitter_Api_key: ${{ secrets.TWITTER_API_KEY }}
Twitter_Secret_key: ${{ secrets.TWITTER_SECRET_KEY }}
Youtube_Token: ${{ secrets.YOUTUBE_TOKEN }}
Youtbe_Api_Key: ${{ secrets.YOUTUBE_API_KEY }}
MapBoxACCESS_TOKEN: ${{ secrets.MapBoxACCESS_TOKEN }}
GCP_SERVER_API_KEY: ${{ secrets.GCP_SERVER_API_KEY }}
SDK_REGISTRY_TOKEN: ${{ secrets.SDK_REGISTRY_TOKEN }}
# SERVICES_JSON_BASE64: ${{ secrets.PROD_GOOGLESERVICES_ANDROID_BASE64 }}
steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
with:
java-version: "11.x"
- uses: subosito/flutter-action@v1
with:
flutter-version: "3.3.3"
# - run: echo -n $SERVICES_JSON_BASE64 | base64 --decode > android/app/google-services.json
- run: echo -n "$ANDROID_KEYSTORE" | base64 --decode > android/key.jks
- run: flutter clean
- run: flutter pub get
- run: flutter build appbundle --flavor prod --target lib/main_prod.dart --dart-define=Pusher_Instance_Id="$Pusher_Instance_Id" --dart-define=GetStream_Chat_Api_Key="$GetStream_Chat_Api_Key" --dart-define=Twitter_Token="$Twitter_Token" --dart-define=Twitter_Api_key="$Twitter_Api_key" --dart-define=Twitter_Secret_key="$Twitter_Secret_key" --dart-define=Youtube_Token="$Youtube_Token" --dart-define=Youtbe_Api_Key="$Youtbe_Api_Key" --dart-define=MapBoxACCESS_TOKEN="$MapBoxACCESS_TOKEN" --dart-define=GCP_SERVER_API_KEY="$GCP_SERVER_API_KEY"
# - uses: actions/upload-artifact@v1
# with:
# name: app-prod-release
# path: build/app/outputs/flutter-apk/app-prod-release.apk
- uses: actions/upload-artifact@v3
with:
name: app-prod-release.aab
path: build/app/outputs/bundle/prodRelease/app-prod-release.aab
- uses: actions/upload-artifact@v3
with:
name: mapping.txt
path: build/app/outputs/mapping/prodRelease/mapping.txt
deploy-play-store:
needs: [build]
runs-on: [self-hosted, linux]
env:
CHASEAPP_GITHUB_TOKEN: ${{ secrets.CHASEAPP_GITHUB_TOKEN }}
steps:
- uses: actions/download-artifact@master
with:
name: app-prod-release.aab
# path: build/app/outputs/bundle/prodRelease/app-prod-release.aab
- uses: actions/download-artifact@master
with:
name: mapping.txt
# path: build/app/outputs/mapping/prodRelease/mapping.txt
# - uses: dawidd6/action-download-artifact@v2.23.0
# with:
# github_token: ${{secrets.CHASEAPP_GITHUB_TOKEN}}
# run_id: 3350880720
# name: app-prod-release.aab
# path: build/app/outputs/bundle/prodRelease/app-prod-release.aab
# - uses: dawidd6/action-download-artifact@v2.23.0
# with:
# github_token: ${{secrets.CHASEAPP_GITHUB_TOKEN}}
# run_id: 3350880720
# name: mapping.txt
# path: build/app/outputs/mapping/prodRelease/mapping.txt
- name: Publish to Play Store internal test track
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.ANDROID_SERVICE_ACCOUNT }}
packageName: com.carverauto.chaseapp
releaseFile: app-prod-release.aab
track: internal
# userFraction: 0.99
status: completed
mappingFile: mapping.txt
# TODO: identify an issue when whatsnew files are included - traced back to the actual action src code
# whatsNewDirectory: distribution_android/whatsnew