-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcodemagic.yaml
70 lines (70 loc) · 2.65 KB
/
codemagic.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
64
65
66
67
68
69
70
definitions:
scripts:
- &generate_root_firebase_json
name: Generate root Firebase.json file
working_directory: app
script: |
echo $ROOT_FIREBASE_JSON | base64 --decode > firebase.json
workflows:
android-workflow:
name: Android Workflow
working_directory: app
max_build_duration: 120
environment:
android_signing:
- upload-keystore
groups:
- google_play
vars:
PACKAGE_NAME: "com.anjasolutions.cutlink"
GOOGLE_PLAY_TRACK: internal
flutter: stable
scripts:
- *generate_root_firebase_json
- name: Set up local.properties
working_directory: app
script: |
echo "flutter.sdk=$HOME/programs/flutter" > "$CM_BUILD_DIR/app/android/local.properties"
- name: Get Flutter packages
working_directory: app
script: |
flutter packages pub get
- name: Set FlutterFire CLI
working_directory: app
script: |
dart pub global activate flutterfire_cli
- name: Generate .env file
working_directory: app
script: |
echo $VAR_ENV | base64 --decode > env/.env.prod
- name: Flutter Clean
working_directory: app
script: |
flutter clean
- name: Generate Google-services.json File
working_directory: app
script: |
echo $ANDROID_APP_GOOGLE_SERVICES_JSON | base64 --decode > android/app/google-services.json
- name: Flutter Build App Bundle
working_directory: app
script: |
LAST_BUILD_NUMBER=$(google-play get-latest-build-number --package-name $PACKAGE_NAME --tracks=$GOOGLE_PLAY_TRACK)
NEW_RELEASE_NUMBER=$((LAST_BUILD_NUMBER + 1))
flutter build appbundle --release \
--dart-define=FIREBASE_OPTIONS_MESSAGING_SENDER_ID="$FIREBASE_OPTIONS_MESSAGING_SENDER_ID" \
--dart-define=FIREBASE_OPTIONS_ANDROID_API_KEY="$FIREBASE_OPTIONS_ANDROID_API_KEY" \
--dart-define=FIREBASE_OPTIONS_ANDROID_APP_ID="$FIREBASE_OPTIONS_ANDROID_APP_ID" \
--dart-define=FIREBASE_OPTIONS_WEB_APP_KEY="$FIREBASE_OPTIONS_WEB_APP_KEY" \
--dart-define=FIREBASE_OPTIONS_PROJECT_ID="$FIREBASE_OPTIONS_PROJECT_ID" \
--dart-define=FIREBASE_OPTIONS_WEB_APP_ID="$FIREBASE_OPTIONS_WEB_APP_ID" \
--build-name=1.0.$NEW_RELEASE_NUMBER \
--build-number=$NEW_RELEASE_NUMBER
artifacts:
- build/**/outputs/**/*.aab
- build/**/outputs/**/mapping.txt
- flutter_drive.log
publishing:
google_play:
credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS
track: $GOOGLE_PLAY_TRACK
submit_as_draft: false