-
Notifications
You must be signed in to change notification settings - Fork 1
/
codemagic.yaml
139 lines (138 loc) · 5.8 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
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
definitions:
scripts:
- &generate_root_firebase_json
name: Generate root Firebase.json file
script: |
echo $ROOT_FIREBASE_JSON | base64 --decode > firebase.json
workflows:
android-workflow:
name: Android Workflow
max_build_duration: 120
environment:
android_signing:
- tiutiu_keystore
groups:
- google_play
- firebase_options
- firebase_files
- facebook
- google_ads
vars:
PACKAGE_NAME: "com.anjasolutions.tiutiu"
GOOGLE_PLAY_TRACK: internal
flutter: stable
scripts:
- *generate_root_firebase_json
- name: Generate Google-services.json File
script: |
echo $ANDROID_APP_GOOGLE_SERVICES_JSON | base64 --decode > android/app/google-services.json
- name: Take a look at Google-services.json File
script: |
echo $ANDROID_APP_GOOGLE_SERVICES_JSON | base64 --decode
- name: Set up local.properties
script: |
echo "flutter.sdk=$HOME/programs/flutter" > "$CM_BUILD_DIR/android/local.properties"
- name: Get Flutter packages
script: |
flutter packages pub get
- name: Get String Localizations
script: |
flutter gen-l10n
- name: Set FlutterFire CLI
script: |
dart pub global activate flutterfire_cli
- name: Build AAB with Flutter
script: |
LAST_BUILD_NUMBER=$(google-play get-latest-build-number --package-name $PACKAGE_NAME --tracks=$GOOGLE_PLAY_TRACK)
CURRENT_BUILD_NUMBER=$((LAST_BUILD_NUMBER + 5))
flutter build appbundle --release \
--dart-define=FIREBASE_OPTIONS_IOS_ANDROID_CLIENT_ID=$FIREBASE_OPTIONS_IOS_ANDROID_CLIENT_ID \
--dart-define=FIREBASE_OPTIONS_MESSAGING_SENDER_ID=$FIREBASE_OPTIONS_MESSAGING_SENDER_ID \
--dart-define=FIREBASE_OPTIONS_IOS_IOS_CLIENT_ID=$FIREBASE_OPTIONS_IOS_IOS_CLIENT_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_IOS_API_KEY=$FIREBASE_OPTIONS_IOS_API_KEY \
--dart-define=FIREBASE_OPTIONS_IOS_APP_ID=$FIREBASE_OPTIONS_IOS_APP_ID \
--dart-define=FIREBASE_OPTIONS_PROJECT_ID=$FIREBASE_OPTIONS_PROJECT_ID \
--dart-define=FACEBOOK_CLIENT_TOKEN=$FACEBOOK_CLIENT_TOKEN \
--dart-define=FACEBOOK_APP_ID=$FACEBOOK_APP_ID \
--build-name=1.1.0-$CURRENT_BUILD_NUMBER \
--build-number=$CURRENT_BUILD_NUMBER
artifacts:
- build/**/outputs/**/*.aab
# - build/**/outputs/apk/**/*.apk
- build/**/outputs/**/mapping.txt
- flutter_drive.log
publishing:
google_play:
credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS
track: $GOOGLE_PLAY_TRACK
submit_as_draft: false
ios-workflow:
name: iOS Workflow
max_build_duration: 120
integrations:
app_store_connect: App Store Connect API KEY (Anja Solutions - Tiu, tiu)
environment:
ios_signing:
distribution_type: app_store
bundle_identifier: com.anjasolutions.tiutiuapp
groups:
- firebase_options
- firebase_files
- facebook
- google_ads
vars:
APP_ID: 1660325927
flutter: stable
scripts:
- *generate_root_firebase_json
- name: Generating firebase_app_id_file.json file
script: |
echo $IOS_FIREBASE_APP_ID_FILE_JSON | base64 --decode > ios/firebase_app_id_file.json
- name: Generating GoogleService-Info.plist file
script: |
echo $IOS_RUNNER_GOOGLE_SERVICE_INFO_PLIST | base64 --decode > ios/Runner/GoogleService-Info.plist
- name: Set up code signing settings on Xcode project
script: |
xcode-project use-profiles
- name: Get Flutter packages
script: |
flutter packages pub get
- name: Get String Localizations
script: |
flutter gen-l10n
- name: Set FlutterFire CLI
script: |
dart pub global activate flutterfire_cli
- name: Install pods
script: |
find . -name "Podfile" -execdir pod install \;
- name: Flutter build ipa
script: |
flutter build ipa --release \
--dart-define=FIREBASE_OPTIONS_IOS_ANDROID_CLIENT_ID=$FIREBASE_OPTIONS_IOS_ANDROID_CLIENT_ID \
--dart-define=FIREBASE_OPTIONS_MESSAGING_SENDER_ID=$FIREBASE_OPTIONS_MESSAGING_SENDER_ID \
--dart-define=FIREBASE_OPTIONS_IOS_IOS_CLIENT_ID=$FIREBASE_OPTIONS_IOS_IOS_CLIENT_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_CF_BUNDLE_URL_SCHEME=$FIREBASE_CF_BUNDLE_URL_SCHEME \
--dart-define=FACEBOOK_CF_BUNDLE_URL_SCHEME=$FACEBOOK_CF_BUNDLE_URL_SCHEME \
--dart-define=FIREBASE_OPTIONS_IOS_API_KEY=$FIREBASE_OPTIONS_IOS_API_KEY \
--dart-define=FIREBASE_OPTIONS_IOS_APP_ID=$FIREBASE_OPTIONS_IOS_APP_ID \
--dart-define=FIREBASE_OPTIONS_PROJECT_ID=$FIREBASE_OPTIONS_PROJECT_ID \
--dart-define=GADApplicationIdentifier=$GADApplicationIdentifier \
--dart-define=FACEBOOK_CLIENT_TOKEN=$FACEBOOK_CLIENT_TOKEN \
--dart-define=FACEBOOK_APP_ID=$FACEBOOK_APP_ID \
--build-name=1.1.$((BUILD_NUMBER - 6)) \
--build-number=$(($BUILD_NUMBER + 141)) \
--export-options-plist=/Users/builder/export_options.plist
artifacts:
- build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- flutter_drive.log
publishing:
app_store_connect:
auth: integration
submit_to_testflight: true
# submit_to_app_store: false