-
Notifications
You must be signed in to change notification settings - Fork 1
/
codemagic.yaml
262 lines (253 loc) · 35.7 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
# Automatically generated on 2021-06-07 UTC from https://codemagic.io/app/60be1666362aac9148b3b88f/settings
# Note that this configuration is not an exact match to UI settings. Review and adjust as necessary.
workflows:
master:
name: Prod
max_build_duration: 60
environment:
vars:
GPG_PASS: Encrypted(Z0FBQUFBQmcwTVdvVUdBUFVUMDdjYzRJQ1cxZERhdXo0eHB3VWVkemdvY1JCX0szVGQ0ZW05NXJidzhIaG81enBWVDZ5RzhkMURQUFVWNXlJdTE3N3dxRnZOZGROeXNLT2c9PQ==)
GPG_KEY: Encrypted(Z0FBQUFBQmcwTVdvUXdoT2lES2FlamUwam5vX1RjT1BQZ0YybkpQYkR1LTBWWFRPNWpFcVVESTBKX01YVThVbHY0ZzloYllVb1FKS2tqTFFPbU9wS21PZWNLV0dRakROdWc5SC1KeHhweWluU2ZfM0xacjBhNUlqMjdqNERNeG9xRzMzYVhMR1BvZGcyNXlWQlA2a2M0TEhXT2I5SHpCSzZNOFkySjJjOVdnd1lKcEhZUzBfR0J1X0xubHdXT0NVWlhhaVE1R1NGZW0yNmtfTm90N1AxaS1nNXl3QjhmUXdkUnBHUk5NZHYxS1NTNl9tY1hleHdvVGtLM3FRU2laZUlkWlRyWEZtQ1c1UHNCT3ZoWExZX0VsNnF2Vm1nWnRRN1FuaTZaeUdhMHpBV1hvLU01eEtILWJyUE93ajk0N3lWbFc2a0JzY3NEdEZYYU1hbDVQZk1sUkJfak5RSjU5MThzSFpNUEw4OFZMQm53cmZncEFNaDF1WHlsOGU1aDM0QUw4SnVkT3dtR21PVndKejZDRC10WGFlRWNxc1k2N2ZQRG9vXzZHOFVBNTh4dktmdWVCaDFhdHJEaDJRS1RSbFFlM0dVVnVKVnFnckJVM3NleU00VVB6YloyOWJqNG5GUnN4Ymk2MzBLSEJkVW83OFBXaGJMUVV6Q0NZQWo4Q1BIcTRFdVBPYTMyalJLOVhJV3F2TzA3b1ktdkNKb2p3bmZRME9tbVFBbGg3ZzExOEg3Q0JmVDBiZTVyd0VQV1VfR2lWeWtsV1ZEdlZ1cGd0bUMyM2Q0MkdXdEhJUXdSaGt0Z0xEdGgzdWNxOS1OSkMxTG4yTEpvakdlSlhkX1NTcHh1dDFrd1VFMnZZUFhWNk9TUFNaRlI1UzRtSVJ6dXBXLXp3MmdnZ3I2MVRFNXNpOExYNmk4MzFhR1d1MmtyNHRmeG5CcVZfRmxGX0xrM29MRXdySEZLU25nZkVKYmZYN0lvUkw5WkhvSS1uZnlFRWFVaE1xRHJBRzhMVDRsb2g4SFBCT3R2RFNQYi1ZMHdPZFE2dW5QS0VSekdSek5VbzNUOEJSVGluM09nckpPUGhNb3VjdldXVVdzMWZQR0N0ZFo4RDNyZkxYRWk0cVRGb05ka1VEeGFqUzlzNjJIMTJQZUVkMkU1MGxkaENBallfWm5jX240REYwWjJGdFlCODZaSER0ZVNFTHlzU0Y3U2VpRWVhNUhmZUtGUzVFb3Z5S05tM2lxbVlFaXZOZjJNTTdrcmtPd3RpQ2N2eTBWZ2Y3bDA4cG44M1VzUnZ6NmhuYUd1M1FNOVo5ZlNXeHBValB0YzZBNVZTRTNUWmtnM3FxZEwwRjVvckd3aHhLTmhQR0pqakdOUGdIQUh0aWxoU0tGSEg3R1ptNko0RFNSNnlRV0pSaW5WMTdIa2U5VjNpRml0ZjNjTmpONkZpUm41NjZhdHd6T1FkdmFreGVTM2g4NVRyM2tQOUlQTWQyaFFCU2tYSTZVM2RrMzBXbXh2QmsySjZDU3ZuSGk1TzBELVgzbHlXTHRFRmpTWTdqMGJ0TFVNdTdYZEtfTEliWno3NldrQTFrMVNmQ2xnRTJSajg1X0c3WHpITkFfVkhmYkZ5T2hGbWhiNkFNb00tX2JlLTJxNU9LQXlGeEJOTlhHTUZSWFl3SGRwNEpubGNPLWZVSlFsVm81ajlKdDdGREVWZjBxNkpLZE4zd0NhRThyMkh3dTNDUl9JZFRxalRMc1dfcE1xdGRORUhnVWZGNk9LbjRSQWVpXzRySjdBcDBXc0pONHNJbXYtRkNXWW5VdmxteVIxZklJWkgzcjl1THVJTUxXOE82eFBRSm5nMTdHYW9rckdROU9VRzV4ZHRJSVg1a2I3dzl5S0oySVJ2RFhUZFNJMktPWFpWNEJBUHZrWlhXY1NvMlpRck42djdhdERWYV9PZURxeG1SZ3UzZERnZFVkWUFjWFBBVHcxeV9NZkNHNWltRmZ6Z0c3UDdOaG53Q1BnbFo4OUV5bTdYRm9PS0ZsWlpIYmtpZGpsa1dydzFrMzZTdjJ3aXd4M2RKVGU2TkdKd3Fva0FDZnRqR1E1QnIwV1lsMG9YWndOWW11WmcyVm4zenRCOVUtMGhsN0xiLUVyaFhlMGMzSGpfemkzSjFHdUZNUjJkS0Y1MGdDbG5ZVW9NMDJwWXlKalN1TkhSSElZMkpWcDJmOE03eU1IRHprNmc3RzRteGE2STY4N1hGX0l0UFk3VlN4b0syTWFmWWJxZl9JWTVQdTRPZGU4ZDNTeG11a2JSX1duS2oxWnByVjkxUWxvLUx1LUwwdmVrbVBFVHVYanp6aHZaa2JBUWNsZC04RFRZaC1UTERaMzRNUmFpUzBXNEFnX1BLS0lXM05qUDlOMVd6dnAyX1JGYWc1RDRsRmFfeHM2eWs1eUI2OUxOSW1WVGNzVzA1TnlocnFDZ3pLLVBYTDVzLTdhbjljSC1WVUZpVnd3YWZaR0g2eDRZMWdrWlV6RzJzV25FY3lzTnp4V0Nza3N5Y0k4eXdDUHBNSVpZc3VnNnBBTzY4ZnJiUjJ6UmJXVTJROEJncHh2NU04OGxnRG4wbkg2UHgxN2ZsNElXbVI2OE1lUTFNQ05uVUg1MEZMVzhvUHpvY2VVcGVneWhNemJPajFraFdfdzdqR2dzQWJSNElOZXQzR1pOQlViMlpLRXZyUTVWNk1KckVFbWR1S2dNSnRNbHJPMHNydFVQRGxpU1FCQzJBQnlNaU1SbHhWQ1pHUWlSNHhjRERYcUZHMjhhU09vV1Q0cFJZQkZJeFBtcnZoZ2NsemY2N3E3ajNwcEJ4LTF6Y3dGVUVHNTZYcldaWGNQNXpkTHhMbEtwVjhlZjNRbjV5NlFJTjJwa0Z5V0dtRzNJaXRwUENWLU0wMWlBbFpXdktZd2NlRFdlSHVZLUluSVNFcXNfTVloWDN1YVp0eHRyMGktMVR3aWpRdXNNMURhR3RyYU1fS3JkWlkxbUN3bjhlOUY1ZDYxekIwcDlScEI5OEVKOEdFalU4UUw4SjVycGdPcmhjak1sazVrNGpiOGxDTGdUWkFTRnUzaFpCRUtmWHExWmViWkpLUENybzQ4MFItcXdiLXhKaXZ6LWJkMXJRSThUMkwxMTlTaHNHUF83eG95U0Y1UmVSQXhQM3pYSXZJN3AzWUJYb0dfencyOG9kZ25zdDRuR3FCREFWSzczR0lfSDlPZHRIN1NlYTMwZE1QbDlqRDA3N3NncnVSS1A3Ujc2RzBUU0t4TUtkR25Kell6S1JyV2p5TFdOLXZia3hZUWxXXzd1NktHTHpHZVRvb2J1WEdIOUNmSlpuclc3VnA5VWczRnZwenJ3TUplOFZwVndoU1hHUzd6UlVQSVNZeFdTUHJDTF9fcE1ySC1iSEh3eVBPbzhEWjNxTW94aVEtcGsyVXJ2eEJjdUNWZG9hTVZHdDVsTmxaakE3b1VybmN6NDdKWTdQUllad1lzMlpKN2RfQldVMVFNODZJTmM1VGMxSWpBU0xKWVFMX0FIN29aVUxKU0Z5V0lnTmFVT2hsLWpydjNRQ1c3cTd1WnBEXzNOay1KaUl3NU1QQnM5a2JraXZWSGJzeFR3V28tcjJVZ1hhZkdXeGhHazhFRDhIUEtTcHdQMjdCSDZTa19acGU1SjNDenFLa09VT2FndTJ4cjBhU3gxNkdWVmRMc3hRSzAweWQzMmJxdWV4cUo1R1gzQ0pKWXEzdW8zTjZTRlBRcEpMNlE5TGRqUHNzRzVLUllCSVpZSXh6enlONEJoOHZfQ19RclUxYkdkdHJUUEdmN3R1SnV5aFdITW9wS3JhQmxzbU4zcUhfNE5VS1pLM3V3N2JZUC1XUkJCcXpGMTdocmNlVmQxTGpRNXJOSHoycFlUS1YwX29mOWRFM3RjTGlTQkpKX2poVVQ3WUlsMnc1WHM1bElXM203cnNzNTFkQTNwSUFsWGZ4S1ZXdEFEekZRQkpuOERjaXhvUjh1WE0wX3hIT0tldXV4NUxsOVlTWDFHQnFZNGdIWjdlVUZBcEpVdmhHZEpqemNYTkF3RlpyeHd2MFlwUnRDVC1BNWpXUHVZcmF1aWlQN0tvaVpoMm4zX08zdFVpZUI5aGpxLUZIUHdOT2huWXY4RDQxblFJMWJYdTVWNWFSbVl2Nkx1ZERYRC1FYUcwOTBkRjJTYkQ1VjNrSnBOcHVSYUVvdkFsZ2FvWXZKeWFweDM5N0hxSWxYYVdrZDZWbFlHbEk1dGVkYlhhejBuc1pTTEYwc1FLbU1Wc21ac1hITUo4b2Itam54LUhTakVxX3NPdnJGdGx3a1V5b2NPcWVMOGJ6WEk0YkRCcmswS25mWnNMdzRJRHlKNlJ6MXg3blBwNTRGVVZZOWphSzRjbFhtVnZZeHl4Ymlza0s2WEloX05vUUZsRkMxaV84N3hwQUNWOWhGY3lCc29lRGtBRFJNOGRQNTNmN1E9PQ==)
APP_CENTER_PROJECT: flutter_getx_template
APP_CENTER_USERNAME_ORGANIZATION: morellitecinfo-gmail.com
APP_CENTER_TOKEN: Encrypted(Z0FBQUFBQmd2OEo0S3JMVkZLcFFzUGRPSXFoZGZ2WHc0Tm83enJIeWNib1g2elRWUlVhaU85bFdES1JCOXBUMDN2b01TeHB3UXlabE43VURnVTVXZG40OGQ5ZTgxeV8yWUZKWVlmbjJCbzdUbl9tTXpwakpxWjhlUmFVcTVpX19PeU1qMXRSY2FsMjM=)
FCI_KEYSTORE_PATH: /tmp/keystore.keystore
FCI_KEYSTORE: Encrypted(Z0FBQUFBQmd2b0VmSy1yUHplcVItMXVqVnB6NnRxS2w1NlVtZEQ4RENGSEhSdFRvYjlWcGhWR09kZWxGYnJnUEQ4TXB6d0JQak5qWHpOTW1yV2N3RmFCWG1Ob2NDVlVpX293N1NxaElRMG42d2p5WkJxNk8tem5DeTk4UGlQOEJ0dXkya01obC1vWWtYOFBsXzZxSkV4LU44UzhuUWpFRFhjMGI2anNzMUtCdkRRMl9ud1VkdFVWb0lEVUNjUF9XYWhQU1YxM1VJQXN3bUZkLTZ1NFZIM1l4b1hoWFRtajFlV1o5dHhyLVBZa3lpVlRIZDVyNVA4SHVFRV81Y1ZjM01CQVhwMF9JTG5UbV84ZnpaS1VHZjRhR0dUMkdfVXMzS1FFdGZ2VzBDVkg1OVRhWS1KNE90di16YUpHM3VhMFJnN3RGNnNOY0ozTV9uWFFkTHJMRVRncnpzZk9ZZUpSU2I2RVU2aXZfRTNUREtleFhpRi1TczgybjkxX25tNGRFOXQ0aWVGZmFWQ3dtUUM4aVpWZWRiVDI5b2U1LVAxSTU5SVRyZ1dqQXpFYUZCTTE2ZVlGcngtekFObEN5bVMwekZtU0hOV29KUXMtUmhkQU15SGUtSVNnQTE0OEtFWWZNeU1iZ20yWjR0N3Ztd2t5OE4tSkZ4cGhOd0dxa1ROaUt4YkVXOHVFSFFhQ1hTRGFRdC1ueVBFU2J3di1aN1R1aDVRWHZvekhwWnNjRkdkRjEzUXhxYVFjNU8tTVJ1dUhwQ2FLRk9vRzMzYVVldHQ0ejNYNzBwbkVRNzF0Q185LVJfenhZMkxYb0pLZTg0ZW8wLVhnOWNMeTQ2d0cxSWxQRV9yRXlaUzJ3WjdFZTFlN0xSMjN5T3lKNUg4dDd3WTRjODJlS0NYS0VqanY4Z2JrbU5DcTRpLTRrVHNIaXlGeUVFOGxWS2o2UF9UbXBxMmVVaDlnQlN6QU9MM2xYWEFZdTM1bnJTME5ldUYwSDhFaTZuSHZ4X0pkOUl5eVhHaUJnSUs5R21MM0hXdEFVT19QOGRTa1pGcDV4cmx6bDg2X1YtbDZBdklPaFFRQ09GYTFtUkFpY1dneXFnWGNrVUdXaFpGSW5zS0R6Q0ktZU1QS0FTRm5nSHI5VXBBTjhjUVQ4eDdpdGVPS3Nva2g0UmNhMlh4bHhjZVM2dDdQMldCeG5ZOGVORk1DeXN0OEllWG5sNlg2ekpGUllrOHJDbjdOWUYwT0xZUUJyNTFPSHJlOUdRR3lTMEE1Q1U1Z2taU2VfU2RES3gtYk1QV29lZVRrUG82dk0zUUZXVjFmWUFMbDNKZjRTMGltQk1Ma2h3SmlPX2swNG9NZ25MNGdVY25XY3Q4bUNHYnVCLV9iRkQwcGhIRUp2d00yMGlHeXdqTFE1TWRucW5vNmNIWGZzWGdlMUZRdEtKNnR4Wl9JVEVFYjRidTlwUl9YbkVHZ05WdVBGalUyVkRFRENCRzMteFM4bnlpdmhWUHE4RUtyOWloR19Zb2xHMGFQNXFRMFFyWF9zMFA1bks4VGpUbFIwSUc4bWU4Zm5IWWxUVDZzUWNhT2tiM3BYSERuMHVHeThCajZteTR4VkV6aXE2bzAwZ2lFQVk2cUJWWHdNSUxPUjZaZTBUM3JMcUd4TmFWZGNBOGk2WlFNYU90WXBhUlRTcFd4MVVqSnJNbm1tV1lseE9CTWlST3RFUlNSSTVEeW5ueUVhNW9qSGVTcGJqNDdwSWVNcHk5Zll2MkRReHI4NklqcWhuejZndDhWM01ZSUh1bHY3dVZVLTNWRlliUURkell3YldfQjdxUVZFV2ZLaUs5ek1XcDd6M3RGM1RySVdlNExXVzhhTUxtWFNXbEVfdVVZRktTM2xRTHRIZkdtMnRnSlh1eHdHZ1R0X0RqaDczRURTU2ptT3p6OHhRbUJMaWtUY3o5TWlpTnNJSkl0a3hiWF9MRGdxVHEyX2xHSG11UmJrdVpIUkkyTVBRb0xiUW5XbnJvZG11ZjV3M0ZWd0o3R0VoQVNDcEFTa1oxaDB6enBLMUVHOWVTWlM2RVVwY2YtbGdWRHFabG9vVGNoWG15LTlDc2lxcE11REZUNjRMei1paE5uVE1RX2V1a3dDTmd2Zzk1WldId0x1TXd2aHR2WXNzWFgwb3dvX2ZIamRwclRYSGFVcmE1YmtFa1E1WHRPYXZZZVowa3lyYy1fcGRiQllISWVLQ1RVR3BPTy01YWp2bUFoRVdYOWRTUURoc2tLSnVqanB4VEdkVVJBT3B6bUR3aVE4NHFGY0I3N3hsaVkxNmVON09teEotc1VLV3NlcVRNU2dKaUxTWmZCZ1laUDdZV0NrMlVMQXRhUFJrM2NTV2htVEhIZ09Xam5HTnh1bjBqWWxfcTB6U0RkMUhjZGpONjZrRFp0cnl4aVBOSTh1Z2lJMTFnUlpTcWNKbGo0dW1ZcUFZQWVPdlRKdVVSR3puT1lET056WjNPdWY2NTlFNVA2MjI1SzM4eENYbkJ3UVFCbkVLYjBobDlQV0dacmtZMXc0U3ZmbWJsR19BX2JjM0JGa1RNMnFoS0t1NXdiNUczbUtHQnFLR1ZZbWpudDU0U1RYb0poMkd4LTZDZFVUeEhDTGRQdE5UdVM5WG9DYllfRW50RzVrVERXRUJzRzNGZmFSUXZDSkxlbHZUMUdDUFlaV1RJSmdOdmFfS2hRWnNPYUp1TjhGczJXTlJxZnNlQzJSOUhpX0w1RG9FUmpvajlZd0xDSW9wQWx0VUY1dlBJVGUzbVpILWNNMFJzS29XT2FBUVFmTUZZYjBoelpXbmtKaU41emRYdkFPcjlSTUdHZklybEUtOEFZTnEwRUhoTllsZlUwQ2VYdFNqSnN3YkEtZjdFb1BqaXRKSTA0eEthZG04ZUZPZlE1VGFWbnlNZmVkZjZCdU9VR2VuZF9ROVBPSm14ZGVBT0dwYng4eUFXNU8wcDJBTmUtZVQyV3VvclFJVmRfeWc4ejg5UjN6WWNfQW9QX2FYQW5XN0JrUVkwTkxveE80Y2dNZmh2ajdnSm1zYU5qcDJfRXNqUXlselpqcG0yNEhOTHU1QlpGdXdfZkhGcnJyX2dFLVBYWUxmd0ljWHE2MExaYUxvd1Z2dWZwNUpXWWZPVEJ3OTd4ZHBQTlRlSDJpRzhGZUYybnQ0M1haNjA4OGxpTVNQa0JtYUgwVVdVRjNyRjlydjZTVTdNWGJVbU9VRFNGbzc2ZDEzd2dwUmx5cmtrblh0RUROaVhvRlN2cHFtNzRnN0FOZGZXZTM4SG9GSDFkRm01U1JUUy1HMVNxZjNkbENCWWtoMHEyVkthVG9YQ2Y3M0JfekhMS3ppcTBiVkVtLTlVc1dIazF3ekt6NDJiVGxKRlFFaEtkLUgzbzVxSklqd3lfM1o5Zndkb0VONnREZnBsTm5RdjRjRWNOT3paZ2RFLWc3anVXbjlQY0xBWm56Vjd1MFZuaU9rU01FTWpCNEdvRUdHek5nd3lWR3Iwd3N5d1hhNG5ZVFZrMGF4YVA0M1NXUXo4S2NfUXVZMHJOUjhfak9KWG5RTjZ6dUxYMWQ2d0phaHdXVDVfbHJhSzZQN0RMSzJJTVN4alg5cWFvczFKMlFCLW5ydllRNUQ3Mm44a20yanpTMFE2cHpoTUtMTXpLb1VnaEdTWkZ4aWs2UkdmN2FoSmNIVzAyckVEVmxXa1lBT1NDbkpNdzI4cy1ORkREN0hSM1ZSZURyUVEwMHhWSy10VmV2Um1lcjR2bWZTejg5Ml93YjlPdVFSb1daalRqVnlSd1o2eDJCclYydUhjcWFhbWdMT09PMXFZRDBHM25iRGdHODJFdUFYSWh6R2lJTW1MeENRVjdnRHFKbXk2aG5ZTllUajFTVkprY04xRDV3ZWhjdnlXMU5LdE5SS3pkVXp1ZldLaU5XWnJ3N2hENDdHMGFTNWdaaUV5RWRRQlVHUGVoRFRsSmFrS2JXanRpamctN1RUN3BwVlBuX09xbkZNSF9aZXVzUTdOUHpQSEdVR19pYnlab0RPLVJHX1poMHVVUlh4UTAtV1Jnal90N0x2RzQwYzBBUzYwOEpINmVxOTNkNnEwTzVrejc1eEpJR3l6RXNWejJNbzdHSzREUHFlUTJ3WkdnUkUxbFRCTGFobk0waXJSUC1VUUJCVFM0YmducWhPeWtZRjYzT1dRNFo5T0dDMmxnMVBZTVFKVDQtMFhHczJPVGhGcWRzWDlhQlFZeHFtdmNFOU1PQU5xcGFuc0F0TTRJRW5MV01jVmRReUdRT1VIc2tOM2dQR3NfR1RQZF9tMTgxOXBRSmt1OUtFX1VWdFFGWkZESjBpakJ5M2otdE9KR19oNU9NeDZ3aXBhcldOOFBXZEpWNHQ3OW14dWZGSE9Kd2J6ZVI2eWxqVEpMU3IxV1JkeEp1U3lISUgtSXozTXcxa2Q2UzZpMElFaGplNXlKNWc2ek1fb2VjYVQ0SE9nakZBSER2YnJKalhyYXU2dXlpR3dyeDBMRzIzd2ZqVFV2MWFCai12VGRvX1FiU1IwQ2p5ZUphNzhNT0dvclVKS0ZoZTVsZzItVG9QNFFJak1xMUpqbEZaNDFDN04xTzBnbG1idWU4aGhRYzVXYkRmUDdRMEo5QTNfMnlsQ0ZQNVh5dzc2RzZ6MjJtcmZvT1FIa2JCVWQyVnREdkNsZF9tZUhmUTZLMFhhWXh6ckg4YlIyb2FnaVF1WG9HbWEweS1sbDktVTh3WFRvZ2ZmblJKMHBWVjJTR3cxVjNPRnVsNVhiZzNJV3NpcGpnNVRLVUZtdkhfNjV2ODY2RFlxZVZCa3FmaDdoaU16VkZNWUhhWWhscTYtVU03NWpmaE0tZlhVZDV5b1Y2VjI4cjdFN0FpVmR2TXdpWXNiX2gwTG1DWDh4SHNCelJnamw2X2xtQ2pwMmh0V1c2WTJBZWlxeXc1Q2R1Y0tkV0FZUE5ZajFkU05Fa1o1YUZVaEVFOU5BYTdac3hGQVNHU2JFakk0ZDZZdXFSbklMLWhfWHRUb2lnWEdNQ283Uy1tSWg4QU9PaUNOeEdHWlFxdlB6NDl2RThialpSdVB6UnJzc08tc2ZkQkVhS2pOMm5iWlp6MlRpSUVjV09pVnZHeGdRMU1jM3ljRkNKbWxUZ0pRSUtPVnJhd2dJREVlZUliTXlXQXhIdlhpQVFueEI4TVJzdGFmaTc0S0JUN0dXcEI0em9wYWU2LUZaeVowY1NuT3dfSnJ6dEhFek1nXzliZU5xcW41VjRwUG11WHB4aF94NnlnckF2WlJqV2g0dk12Y3kyNEtId0xtd2xvUEJabFQwSE9meDJ6TU9fWFpQQ3daNEpJS0FCLWpjWkxBUmI5OWtRNWRNTHVVNkFFcjE2aHM2cXBZZkRuYVJGX1c3U1E2dDRTeTJoVlEtSjJxRVZQYVZJci1JT3lGVkR3VUJCMFlVSXpmVjN6YzBMc1VvbXZuUWZZMjVkSFJIVTNiUWhpbFhsNFpIY0p3d1ExMmk3S1U0NnpHaGZyOW5fUEdESnM0MGhsdW5rdjM5V0RsM0ZsRlFXNFd4QUJsMWJ6akJkWW1YdEFBektTV2owX25pMlAwZU45Z3JIMXNOaVFPaHJJWmZoNllsTWVGUl9Yb0VzVXhhbGR2YXFwNmFMUXdaRnlWbHJhOGUyVFNNWHFzZ1VLZVhOUXNrbVh5QnE0d1dPM3oxNS05TkExdVFFS0lubGk1MzQwTF9jVGJ2ZWVYRkowcWNSZjJPUTVybnoyT1RRMDlQakdzNVU0MFdoY3NNemdmdDVpYy00WGJrQVVPaHVBMmlNWGxUQzdESlhPMFlzR0NqYXMzNlhidlBIbDk1SllTZl9raGcydkJnbExVSk43RXU5ZXpLRjEyenlOQkFVTnVsWlp0cVRJdHFqams3UkVmdnVvYVJvZ2dEUHNiQVk3YmMwZHdnbFd3TUQwanNkSmVKTGZZNnU3am1WSHpja1Q1aV9UX18wVHNrTGw4STNsTUo1UXV1bnBJWDdQWjIzUnRpcFlVRDBUQ3FGYnpENkpWNmdWNUgxRG10THJLYkVHUXV0blpNVWFWR2otU3NYYjlhOFlqQmtyc0RBSmhNT0k2c05Tci15V2dlTnFCcWdGYUZQSkdsc2c5WXc5MTA2alpOdXJuZnFobmt1VVhOSjU4QXBUUGRyQUF4TmZCeXR1NldpMkEyQ1VSamJEdWtCczRZS0JtOG1KMV9pSG80Mw==)
FCI_KEYSTORE_PASSWORD: Encrypted(Z0FBQUFBQmd2b0VmVHlXM3JNUFpIRE51MUZvRURLYnBSRXZjeUVRNGpXTlowZTlkc2lvZzhRMmJZMFVGeDQzWXc4enF3MW41SUJrZHNJV1hSZE9PcXhRRjJoUFJuXzBkYlE9PQ==)
FCI_KEY_PASSWORD: Encrypted(Z0FBQUFBQmd2b0VmZFlBVnZhTk9aeGFYRE10ZFBYVXVVclZfRWNPYzFrT2puY3NWRUR3LXNlMm1qUlZRbkotczBDVEx1dHF2S1diM3pzdzhIRHpvYnVkRG42U0R4bnQ3Qmc9PQ==)
FCI_KEY_ALIAS: Encrypted(Z0FBQUFBQmd2b0VmUW1sRjd3UWJJRlpMc0UyQzRsa3V3YWxMQ2pYeTdpVF9SdHBETEZ5TjRmTjh2NzM1bEYxM2JUVVQ1cTNIcGx2VHl0SnRmaVZ5TWVfSk9fSTZVX3RaWlE9PQ==)
flutter: 2.2.0
xcode: latest
cocoapods: default
cache:
cache_paths:
- $FLUTTER_ROOT/.pub-cache
- $FCI_BUILD_DIR/ios/Pods
- $FCI_BUILD_DIR/android/.gradle
triggering:
events:
- push
branch_patterns:
- pattern: master
include: true
source: true
scripts:
- brew install gnupg
- brew install git-secret
- |
echo $GPG_KEY | tr ',' '\n' > ./private_key.gpg
- gpg --import ./private_key.gpg
- git secret reveal -f -p $GPG_PASS
- |
# set up key.properties
echo $FCI_KEYSTORE | base64 --decode > $FCI_KEYSTORE_PATH
cat >> "$FCI_BUILD_DIR/android/key.properties" <<EOF
storePassword=$FCI_KEYSTORE_PASSWORD
keyPassword=$FCI_KEY_PASSWORD
keyAlias=$FCI_KEY_ALIAS
storeFile=/tmp/keystore.keystore
EOF
- |
# set up local properties
echo "flutter.sdk=$HOME/programs/flutter" > "$FCI_BUILD_DIR/android/local.properties"
- flutter packages pub get
- flutter pub run build_runner build --delete-conflicting-outputs
- flutter analyze
- flutter test
- flutter build apk --release --flavor prod -t lib/main_prod.dart
# - find . -name "Podfile" -execdir pod install \;
# - flutter build ios --release --no-codesign
artifacts:
- build/**/outputs/**/*.apk
- build/**/outputs/**/*.aab
- build/**/outputs/**/mapping.txt
- build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- flutter_drive.log
publishing:
email:
recipients:
scripts:
- |
#!/usr/bin/env zsh
echo 'Installing App Center CLI tools'
npm install -g appcenter-cli
echo "Find build artifacts"
apkPath=$(find build -name "*prod-release.apk" | head -1)
echo "Found apk at $apkPath"
if [[ -z ${apkPath} ]]
then
echo "No apks were found, skip publishing to App Center"
else
echo "Publishing $apkPath to App Center"
appcenter distribute release \
--group 'Collaborators Prod' \
--file "${apkPath}" \
--release-notes 'App submission via Codemagic' \
--app $APP_CENTER_USERNAME_ORGANIZATION/$APP_CENTER_PROJECT \
--token "${APP_CENTER_TOKEN}" \
--quiet
fi
# echo "Find build artifacts"
# ipaPath=$(find ~/ipas -name "*prod-release.ipa" | head -1)
# echo "Found ipa at $ipaPath"
# if [[ -z ${ipaPath} ]]
# then
# echo "No ipas were found, skip publishing to App Center"
# else
# echo "Publishing $ipaPath to App Center"
# appcenter distribute release \
# --group 'Collaborators Prod' \
# --file "${ipaPath}" \
# --release-notes 'App submission via Codemagic' \
# --app $APP_CENTER_USERNAME_ORGANIZATION/$APP_CENTER_PROJECT \
# --token "${APP_CENTER_TOKEN}" \
# --quiet
# fi
qa:
name: QA
max_build_duration: 60
environment:
vars:
GPG_PASS: Encrypted(Z0FBQUFBQmcwTVdvVUdBUFVUMDdjYzRJQ1cxZERhdXo0eHB3VWVkemdvY1JCX0szVGQ0ZW05NXJidzhIaG81enBWVDZ5RzhkMURQUFVWNXlJdTE3N3dxRnZOZGROeXNLT2c9PQ==)
GPG_KEY: Encrypted(Z0FBQUFBQmcwTVdvUXdoT2lES2FlamUwam5vX1RjT1BQZ0YybkpQYkR1LTBWWFRPNWpFcVVESTBKX01YVThVbHY0ZzloYllVb1FKS2tqTFFPbU9wS21PZWNLV0dRakROdWc5SC1KeHhweWluU2ZfM0xacjBhNUlqMjdqNERNeG9xRzMzYVhMR1BvZGcyNXlWQlA2a2M0TEhXT2I5SHpCSzZNOFkySjJjOVdnd1lKcEhZUzBfR0J1X0xubHdXT0NVWlhhaVE1R1NGZW0yNmtfTm90N1AxaS1nNXl3QjhmUXdkUnBHUk5NZHYxS1NTNl9tY1hleHdvVGtLM3FRU2laZUlkWlRyWEZtQ1c1UHNCT3ZoWExZX0VsNnF2Vm1nWnRRN1FuaTZaeUdhMHpBV1hvLU01eEtILWJyUE93ajk0N3lWbFc2a0JzY3NEdEZYYU1hbDVQZk1sUkJfak5RSjU5MThzSFpNUEw4OFZMQm53cmZncEFNaDF1WHlsOGU1aDM0QUw4SnVkT3dtR21PVndKejZDRC10WGFlRWNxc1k2N2ZQRG9vXzZHOFVBNTh4dktmdWVCaDFhdHJEaDJRS1RSbFFlM0dVVnVKVnFnckJVM3NleU00VVB6YloyOWJqNG5GUnN4Ymk2MzBLSEJkVW83OFBXaGJMUVV6Q0NZQWo4Q1BIcTRFdVBPYTMyalJLOVhJV3F2TzA3b1ktdkNKb2p3bmZRME9tbVFBbGg3ZzExOEg3Q0JmVDBiZTVyd0VQV1VfR2lWeWtsV1ZEdlZ1cGd0bUMyM2Q0MkdXdEhJUXdSaGt0Z0xEdGgzdWNxOS1OSkMxTG4yTEpvakdlSlhkX1NTcHh1dDFrd1VFMnZZUFhWNk9TUFNaRlI1UzRtSVJ6dXBXLXp3MmdnZ3I2MVRFNXNpOExYNmk4MzFhR1d1MmtyNHRmeG5CcVZfRmxGX0xrM29MRXdySEZLU25nZkVKYmZYN0lvUkw5WkhvSS1uZnlFRWFVaE1xRHJBRzhMVDRsb2g4SFBCT3R2RFNQYi1ZMHdPZFE2dW5QS0VSekdSek5VbzNUOEJSVGluM09nckpPUGhNb3VjdldXVVdzMWZQR0N0ZFo4RDNyZkxYRWk0cVRGb05ka1VEeGFqUzlzNjJIMTJQZUVkMkU1MGxkaENBallfWm5jX240REYwWjJGdFlCODZaSER0ZVNFTHlzU0Y3U2VpRWVhNUhmZUtGUzVFb3Z5S05tM2lxbVlFaXZOZjJNTTdrcmtPd3RpQ2N2eTBWZ2Y3bDA4cG44M1VzUnZ6NmhuYUd1M1FNOVo5ZlNXeHBValB0YzZBNVZTRTNUWmtnM3FxZEwwRjVvckd3aHhLTmhQR0pqakdOUGdIQUh0aWxoU0tGSEg3R1ptNko0RFNSNnlRV0pSaW5WMTdIa2U5VjNpRml0ZjNjTmpONkZpUm41NjZhdHd6T1FkdmFreGVTM2g4NVRyM2tQOUlQTWQyaFFCU2tYSTZVM2RrMzBXbXh2QmsySjZDU3ZuSGk1TzBELVgzbHlXTHRFRmpTWTdqMGJ0TFVNdTdYZEtfTEliWno3NldrQTFrMVNmQ2xnRTJSajg1X0c3WHpITkFfVkhmYkZ5T2hGbWhiNkFNb00tX2JlLTJxNU9LQXlGeEJOTlhHTUZSWFl3SGRwNEpubGNPLWZVSlFsVm81ajlKdDdGREVWZjBxNkpLZE4zd0NhRThyMkh3dTNDUl9JZFRxalRMc1dfcE1xdGRORUhnVWZGNk9LbjRSQWVpXzRySjdBcDBXc0pONHNJbXYtRkNXWW5VdmxteVIxZklJWkgzcjl1THVJTUxXOE82eFBRSm5nMTdHYW9rckdROU9VRzV4ZHRJSVg1a2I3dzl5S0oySVJ2RFhUZFNJMktPWFpWNEJBUHZrWlhXY1NvMlpRck42djdhdERWYV9PZURxeG1SZ3UzZERnZFVkWUFjWFBBVHcxeV9NZkNHNWltRmZ6Z0c3UDdOaG53Q1BnbFo4OUV5bTdYRm9PS0ZsWlpIYmtpZGpsa1dydzFrMzZTdjJ3aXd4M2RKVGU2TkdKd3Fva0FDZnRqR1E1QnIwV1lsMG9YWndOWW11WmcyVm4zenRCOVUtMGhsN0xiLUVyaFhlMGMzSGpfemkzSjFHdUZNUjJkS0Y1MGdDbG5ZVW9NMDJwWXlKalN1TkhSSElZMkpWcDJmOE03eU1IRHprNmc3RzRteGE2STY4N1hGX0l0UFk3VlN4b0syTWFmWWJxZl9JWTVQdTRPZGU4ZDNTeG11a2JSX1duS2oxWnByVjkxUWxvLUx1LUwwdmVrbVBFVHVYanp6aHZaa2JBUWNsZC04RFRZaC1UTERaMzRNUmFpUzBXNEFnX1BLS0lXM05qUDlOMVd6dnAyX1JGYWc1RDRsRmFfeHM2eWs1eUI2OUxOSW1WVGNzVzA1TnlocnFDZ3pLLVBYTDVzLTdhbjljSC1WVUZpVnd3YWZaR0g2eDRZMWdrWlV6RzJzV25FY3lzTnp4V0Nza3N5Y0k4eXdDUHBNSVpZc3VnNnBBTzY4ZnJiUjJ6UmJXVTJROEJncHh2NU04OGxnRG4wbkg2UHgxN2ZsNElXbVI2OE1lUTFNQ05uVUg1MEZMVzhvUHpvY2VVcGVneWhNemJPajFraFdfdzdqR2dzQWJSNElOZXQzR1pOQlViMlpLRXZyUTVWNk1KckVFbWR1S2dNSnRNbHJPMHNydFVQRGxpU1FCQzJBQnlNaU1SbHhWQ1pHUWlSNHhjRERYcUZHMjhhU09vV1Q0cFJZQkZJeFBtcnZoZ2NsemY2N3E3ajNwcEJ4LTF6Y3dGVUVHNTZYcldaWGNQNXpkTHhMbEtwVjhlZjNRbjV5NlFJTjJwa0Z5V0dtRzNJaXRwUENWLU0wMWlBbFpXdktZd2NlRFdlSHVZLUluSVNFcXNfTVloWDN1YVp0eHRyMGktMVR3aWpRdXNNMURhR3RyYU1fS3JkWlkxbUN3bjhlOUY1ZDYxekIwcDlScEI5OEVKOEdFalU4UUw4SjVycGdPcmhjak1sazVrNGpiOGxDTGdUWkFTRnUzaFpCRUtmWHExWmViWkpLUENybzQ4MFItcXdiLXhKaXZ6LWJkMXJRSThUMkwxMTlTaHNHUF83eG95U0Y1UmVSQXhQM3pYSXZJN3AzWUJYb0dfencyOG9kZ25zdDRuR3FCREFWSzczR0lfSDlPZHRIN1NlYTMwZE1QbDlqRDA3N3NncnVSS1A3Ujc2RzBUU0t4TUtkR25Kell6S1JyV2p5TFdOLXZia3hZUWxXXzd1NktHTHpHZVRvb2J1WEdIOUNmSlpuclc3VnA5VWczRnZwenJ3TUplOFZwVndoU1hHUzd6UlVQSVNZeFdTUHJDTF9fcE1ySC1iSEh3eVBPbzhEWjNxTW94aVEtcGsyVXJ2eEJjdUNWZG9hTVZHdDVsTmxaakE3b1VybmN6NDdKWTdQUllad1lzMlpKN2RfQldVMVFNODZJTmM1VGMxSWpBU0xKWVFMX0FIN29aVUxKU0Z5V0lnTmFVT2hsLWpydjNRQ1c3cTd1WnBEXzNOay1KaUl3NU1QQnM5a2JraXZWSGJzeFR3V28tcjJVZ1hhZkdXeGhHazhFRDhIUEtTcHdQMjdCSDZTa19acGU1SjNDenFLa09VT2FndTJ4cjBhU3gxNkdWVmRMc3hRSzAweWQzMmJxdWV4cUo1R1gzQ0pKWXEzdW8zTjZTRlBRcEpMNlE5TGRqUHNzRzVLUllCSVpZSXh6enlONEJoOHZfQ19RclUxYkdkdHJUUEdmN3R1SnV5aFdITW9wS3JhQmxzbU4zcUhfNE5VS1pLM3V3N2JZUC1XUkJCcXpGMTdocmNlVmQxTGpRNXJOSHoycFlUS1YwX29mOWRFM3RjTGlTQkpKX2poVVQ3WUlsMnc1WHM1bElXM203cnNzNTFkQTNwSUFsWGZ4S1ZXdEFEekZRQkpuOERjaXhvUjh1WE0wX3hIT0tldXV4NUxsOVlTWDFHQnFZNGdIWjdlVUZBcEpVdmhHZEpqemNYTkF3RlpyeHd2MFlwUnRDVC1BNWpXUHVZcmF1aWlQN0tvaVpoMm4zX08zdFVpZUI5aGpxLUZIUHdOT2huWXY4RDQxblFJMWJYdTVWNWFSbVl2Nkx1ZERYRC1FYUcwOTBkRjJTYkQ1VjNrSnBOcHVSYUVvdkFsZ2FvWXZKeWFweDM5N0hxSWxYYVdrZDZWbFlHbEk1dGVkYlhhejBuc1pTTEYwc1FLbU1Wc21ac1hITUo4b2Itam54LUhTakVxX3NPdnJGdGx3a1V5b2NPcWVMOGJ6WEk0YkRCcmswS25mWnNMdzRJRHlKNlJ6MXg3blBwNTRGVVZZOWphSzRjbFhtVnZZeHl4Ymlza0s2WEloX05vUUZsRkMxaV84N3hwQUNWOWhGY3lCc29lRGtBRFJNOGRQNTNmN1E9PQ==)
APP_CENTER_PROJECT: flutter_getx_template
APP_CENTER_USERNAME_ORGANIZATION: morellitecinfo-gmail.com
APP_CENTER_TOKEN: Encrypted(Z0FBQUFBQmd2OEo0S3JMVkZLcFFzUGRPSXFoZGZ2WHc0Tm83enJIeWNib1g2elRWUlVhaU85bFdES1JCOXBUMDN2b01TeHB3UXlabE43VURnVTVXZG40OGQ5ZTgxeV8yWUZKWVlmbjJCbzdUbl9tTXpwakpxWjhlUmFVcTVpX19PeU1qMXRSY2FsMjM=)
FCI_KEYSTORE_PATH: /tmp/keystore.keystore
FCI_KEYSTORE: Encrypted(Z0FBQUFBQmd2b0VmSy1yUHplcVItMXVqVnB6NnRxS2w1NlVtZEQ4RENGSEhSdFRvYjlWcGhWR09kZWxGYnJnUEQ4TXB6d0JQak5qWHpOTW1yV2N3RmFCWG1Ob2NDVlVpX293N1NxaElRMG42d2p5WkJxNk8tem5DeTk4UGlQOEJ0dXkya01obC1vWWtYOFBsXzZxSkV4LU44UzhuUWpFRFhjMGI2anNzMUtCdkRRMl9ud1VkdFVWb0lEVUNjUF9XYWhQU1YxM1VJQXN3bUZkLTZ1NFZIM1l4b1hoWFRtajFlV1o5dHhyLVBZa3lpVlRIZDVyNVA4SHVFRV81Y1ZjM01CQVhwMF9JTG5UbV84ZnpaS1VHZjRhR0dUMkdfVXMzS1FFdGZ2VzBDVkg1OVRhWS1KNE90di16YUpHM3VhMFJnN3RGNnNOY0ozTV9uWFFkTHJMRVRncnpzZk9ZZUpSU2I2RVU2aXZfRTNUREtleFhpRi1TczgybjkxX25tNGRFOXQ0aWVGZmFWQ3dtUUM4aVpWZWRiVDI5b2U1LVAxSTU5SVRyZ1dqQXpFYUZCTTE2ZVlGcngtekFObEN5bVMwekZtU0hOV29KUXMtUmhkQU15SGUtSVNnQTE0OEtFWWZNeU1iZ20yWjR0N3Ztd2t5OE4tSkZ4cGhOd0dxa1ROaUt4YkVXOHVFSFFhQ1hTRGFRdC1ueVBFU2J3di1aN1R1aDVRWHZvekhwWnNjRkdkRjEzUXhxYVFjNU8tTVJ1dUhwQ2FLRk9vRzMzYVVldHQ0ejNYNzBwbkVRNzF0Q185LVJfenhZMkxYb0pLZTg0ZW8wLVhnOWNMeTQ2d0cxSWxQRV9yRXlaUzJ3WjdFZTFlN0xSMjN5T3lKNUg4dDd3WTRjODJlS0NYS0VqanY4Z2JrbU5DcTRpLTRrVHNIaXlGeUVFOGxWS2o2UF9UbXBxMmVVaDlnQlN6QU9MM2xYWEFZdTM1bnJTME5ldUYwSDhFaTZuSHZ4X0pkOUl5eVhHaUJnSUs5R21MM0hXdEFVT19QOGRTa1pGcDV4cmx6bDg2X1YtbDZBdklPaFFRQ09GYTFtUkFpY1dneXFnWGNrVUdXaFpGSW5zS0R6Q0ktZU1QS0FTRm5nSHI5VXBBTjhjUVQ4eDdpdGVPS3Nva2g0UmNhMlh4bHhjZVM2dDdQMldCeG5ZOGVORk1DeXN0OEllWG5sNlg2ekpGUllrOHJDbjdOWUYwT0xZUUJyNTFPSHJlOUdRR3lTMEE1Q1U1Z2taU2VfU2RES3gtYk1QV29lZVRrUG82dk0zUUZXVjFmWUFMbDNKZjRTMGltQk1Ma2h3SmlPX2swNG9NZ25MNGdVY25XY3Q4bUNHYnVCLV9iRkQwcGhIRUp2d00yMGlHeXdqTFE1TWRucW5vNmNIWGZzWGdlMUZRdEtKNnR4Wl9JVEVFYjRidTlwUl9YbkVHZ05WdVBGalUyVkRFRENCRzMteFM4bnlpdmhWUHE4RUtyOWloR19Zb2xHMGFQNXFRMFFyWF9zMFA1bks4VGpUbFIwSUc4bWU4Zm5IWWxUVDZzUWNhT2tiM3BYSERuMHVHeThCajZteTR4VkV6aXE2bzAwZ2lFQVk2cUJWWHdNSUxPUjZaZTBUM3JMcUd4TmFWZGNBOGk2WlFNYU90WXBhUlRTcFd4MVVqSnJNbm1tV1lseE9CTWlST3RFUlNSSTVEeW5ueUVhNW9qSGVTcGJqNDdwSWVNcHk5Zll2MkRReHI4NklqcWhuejZndDhWM01ZSUh1bHY3dVZVLTNWRlliUURkell3YldfQjdxUVZFV2ZLaUs5ek1XcDd6M3RGM1RySVdlNExXVzhhTUxtWFNXbEVfdVVZRktTM2xRTHRIZkdtMnRnSlh1eHdHZ1R0X0RqaDczRURTU2ptT3p6OHhRbUJMaWtUY3o5TWlpTnNJSkl0a3hiWF9MRGdxVHEyX2xHSG11UmJrdVpIUkkyTVBRb0xiUW5XbnJvZG11ZjV3M0ZWd0o3R0VoQVNDcEFTa1oxaDB6enBLMUVHOWVTWlM2RVVwY2YtbGdWRHFabG9vVGNoWG15LTlDc2lxcE11REZUNjRMei1paE5uVE1RX2V1a3dDTmd2Zzk1WldId0x1TXd2aHR2WXNzWFgwb3dvX2ZIamRwclRYSGFVcmE1YmtFa1E1WHRPYXZZZVowa3lyYy1fcGRiQllISWVLQ1RVR3BPTy01YWp2bUFoRVdYOWRTUURoc2tLSnVqanB4VEdkVVJBT3B6bUR3aVE4NHFGY0I3N3hsaVkxNmVON09teEotc1VLV3NlcVRNU2dKaUxTWmZCZ1laUDdZV0NrMlVMQXRhUFJrM2NTV2htVEhIZ09Xam5HTnh1bjBqWWxfcTB6U0RkMUhjZGpONjZrRFp0cnl4aVBOSTh1Z2lJMTFnUlpTcWNKbGo0dW1ZcUFZQWVPdlRKdVVSR3puT1lET056WjNPdWY2NTlFNVA2MjI1SzM4eENYbkJ3UVFCbkVLYjBobDlQV0dacmtZMXc0U3ZmbWJsR19BX2JjM0JGa1RNMnFoS0t1NXdiNUczbUtHQnFLR1ZZbWpudDU0U1RYb0poMkd4LTZDZFVUeEhDTGRQdE5UdVM5WG9DYllfRW50RzVrVERXRUJzRzNGZmFSUXZDSkxlbHZUMUdDUFlaV1RJSmdOdmFfS2hRWnNPYUp1TjhGczJXTlJxZnNlQzJSOUhpX0w1RG9FUmpvajlZd0xDSW9wQWx0VUY1dlBJVGUzbVpILWNNMFJzS29XT2FBUVFmTUZZYjBoelpXbmtKaU41emRYdkFPcjlSTUdHZklybEUtOEFZTnEwRUhoTllsZlUwQ2VYdFNqSnN3YkEtZjdFb1BqaXRKSTA0eEthZG04ZUZPZlE1VGFWbnlNZmVkZjZCdU9VR2VuZF9ROVBPSm14ZGVBT0dwYng4eUFXNU8wcDJBTmUtZVQyV3VvclFJVmRfeWc4ejg5UjN6WWNfQW9QX2FYQW5XN0JrUVkwTkxveE80Y2dNZmh2ajdnSm1zYU5qcDJfRXNqUXlselpqcG0yNEhOTHU1QlpGdXdfZkhGcnJyX2dFLVBYWUxmd0ljWHE2MExaYUxvd1Z2dWZwNUpXWWZPVEJ3OTd4ZHBQTlRlSDJpRzhGZUYybnQ0M1haNjA4OGxpTVNQa0JtYUgwVVdVRjNyRjlydjZTVTdNWGJVbU9VRFNGbzc2ZDEzd2dwUmx5cmtrblh0RUROaVhvRlN2cHFtNzRnN0FOZGZXZTM4SG9GSDFkRm01U1JUUy1HMVNxZjNkbENCWWtoMHEyVkthVG9YQ2Y3M0JfekhMS3ppcTBiVkVtLTlVc1dIazF3ekt6NDJiVGxKRlFFaEtkLUgzbzVxSklqd3lfM1o5Zndkb0VONnREZnBsTm5RdjRjRWNOT3paZ2RFLWc3anVXbjlQY0xBWm56Vjd1MFZuaU9rU01FTWpCNEdvRUdHek5nd3lWR3Iwd3N5d1hhNG5ZVFZrMGF4YVA0M1NXUXo4S2NfUXVZMHJOUjhfak9KWG5RTjZ6dUxYMWQ2d0phaHdXVDVfbHJhSzZQN0RMSzJJTVN4alg5cWFvczFKMlFCLW5ydllRNUQ3Mm44a20yanpTMFE2cHpoTUtMTXpLb1VnaEdTWkZ4aWs2UkdmN2FoSmNIVzAyckVEVmxXa1lBT1NDbkpNdzI4cy1ORkREN0hSM1ZSZURyUVEwMHhWSy10VmV2Um1lcjR2bWZTejg5Ml93YjlPdVFSb1daalRqVnlSd1o2eDJCclYydUhjcWFhbWdMT09PMXFZRDBHM25iRGdHODJFdUFYSWh6R2lJTW1MeENRVjdnRHFKbXk2aG5ZTllUajFTVkprY04xRDV3ZWhjdnlXMU5LdE5SS3pkVXp1ZldLaU5XWnJ3N2hENDdHMGFTNWdaaUV5RWRRQlVHUGVoRFRsSmFrS2JXanRpamctN1RUN3BwVlBuX09xbkZNSF9aZXVzUTdOUHpQSEdVR19pYnlab0RPLVJHX1poMHVVUlh4UTAtV1Jnal90N0x2RzQwYzBBUzYwOEpINmVxOTNkNnEwTzVrejc1eEpJR3l6RXNWejJNbzdHSzREUHFlUTJ3WkdnUkUxbFRCTGFobk0waXJSUC1VUUJCVFM0YmducWhPeWtZRjYzT1dRNFo5T0dDMmxnMVBZTVFKVDQtMFhHczJPVGhGcWRzWDlhQlFZeHFtdmNFOU1PQU5xcGFuc0F0TTRJRW5MV01jVmRReUdRT1VIc2tOM2dQR3NfR1RQZF9tMTgxOXBRSmt1OUtFX1VWdFFGWkZESjBpakJ5M2otdE9KR19oNU9NeDZ3aXBhcldOOFBXZEpWNHQ3OW14dWZGSE9Kd2J6ZVI2eWxqVEpMU3IxV1JkeEp1U3lISUgtSXozTXcxa2Q2UzZpMElFaGplNXlKNWc2ek1fb2VjYVQ0SE9nakZBSER2YnJKalhyYXU2dXlpR3dyeDBMRzIzd2ZqVFV2MWFCai12VGRvX1FiU1IwQ2p5ZUphNzhNT0dvclVKS0ZoZTVsZzItVG9QNFFJak1xMUpqbEZaNDFDN04xTzBnbG1idWU4aGhRYzVXYkRmUDdRMEo5QTNfMnlsQ0ZQNVh5dzc2RzZ6MjJtcmZvT1FIa2JCVWQyVnREdkNsZF9tZUhmUTZLMFhhWXh6ckg4YlIyb2FnaVF1WG9HbWEweS1sbDktVTh3WFRvZ2ZmblJKMHBWVjJTR3cxVjNPRnVsNVhiZzNJV3NpcGpnNVRLVUZtdkhfNjV2ODY2RFlxZVZCa3FmaDdoaU16VkZNWUhhWWhscTYtVU03NWpmaE0tZlhVZDV5b1Y2VjI4cjdFN0FpVmR2TXdpWXNiX2gwTG1DWDh4SHNCelJnamw2X2xtQ2pwMmh0V1c2WTJBZWlxeXc1Q2R1Y0tkV0FZUE5ZajFkU05Fa1o1YUZVaEVFOU5BYTdac3hGQVNHU2JFakk0ZDZZdXFSbklMLWhfWHRUb2lnWEdNQ283Uy1tSWg4QU9PaUNOeEdHWlFxdlB6NDl2RThialpSdVB6UnJzc08tc2ZkQkVhS2pOMm5iWlp6MlRpSUVjV09pVnZHeGdRMU1jM3ljRkNKbWxUZ0pRSUtPVnJhd2dJREVlZUliTXlXQXhIdlhpQVFueEI4TVJzdGFmaTc0S0JUN0dXcEI0em9wYWU2LUZaeVowY1NuT3dfSnJ6dEhFek1nXzliZU5xcW41VjRwUG11WHB4aF94NnlnckF2WlJqV2g0dk12Y3kyNEtId0xtd2xvUEJabFQwSE9meDJ6TU9fWFpQQ3daNEpJS0FCLWpjWkxBUmI5OWtRNWRNTHVVNkFFcjE2aHM2cXBZZkRuYVJGX1c3U1E2dDRTeTJoVlEtSjJxRVZQYVZJci1JT3lGVkR3VUJCMFlVSXpmVjN6YzBMc1VvbXZuUWZZMjVkSFJIVTNiUWhpbFhsNFpIY0p3d1ExMmk3S1U0NnpHaGZyOW5fUEdESnM0MGhsdW5rdjM5V0RsM0ZsRlFXNFd4QUJsMWJ6akJkWW1YdEFBektTV2owX25pMlAwZU45Z3JIMXNOaVFPaHJJWmZoNllsTWVGUl9Yb0VzVXhhbGR2YXFwNmFMUXdaRnlWbHJhOGUyVFNNWHFzZ1VLZVhOUXNrbVh5QnE0d1dPM3oxNS05TkExdVFFS0lubGk1MzQwTF9jVGJ2ZWVYRkowcWNSZjJPUTVybnoyT1RRMDlQakdzNVU0MFdoY3NNemdmdDVpYy00WGJrQVVPaHVBMmlNWGxUQzdESlhPMFlzR0NqYXMzNlhidlBIbDk1SllTZl9raGcydkJnbExVSk43RXU5ZXpLRjEyenlOQkFVTnVsWlp0cVRJdHFqams3UkVmdnVvYVJvZ2dEUHNiQVk3YmMwZHdnbFd3TUQwanNkSmVKTGZZNnU3am1WSHpja1Q1aV9UX18wVHNrTGw4STNsTUo1UXV1bnBJWDdQWjIzUnRpcFlVRDBUQ3FGYnpENkpWNmdWNUgxRG10THJLYkVHUXV0blpNVWFWR2otU3NYYjlhOFlqQmtyc0RBSmhNT0k2c05Tci15V2dlTnFCcWdGYUZQSkdsc2c5WXc5MTA2alpOdXJuZnFobmt1VVhOSjU4QXBUUGRyQUF4TmZCeXR1NldpMkEyQ1VSamJEdWtCczRZS0JtOG1KMV9pSG80Mw==)
FCI_KEYSTORE_PASSWORD: Encrypted(Z0FBQUFBQmd2b0VmVHlXM3JNUFpIRE51MUZvRURLYnBSRXZjeUVRNGpXTlowZTlkc2lvZzhRMmJZMFVGeDQzWXc4enF3MW41SUJrZHNJV1hSZE9PcXhRRjJoUFJuXzBkYlE9PQ==)
FCI_KEY_PASSWORD: Encrypted(Z0FBQUFBQmd2b0VmZFlBVnZhTk9aeGFYRE10ZFBYVXVVclZfRWNPYzFrT2puY3NWRUR3LXNlMm1qUlZRbkotczBDVEx1dHF2S1diM3pzdzhIRHpvYnVkRG42U0R4bnQ3Qmc9PQ==)
FCI_KEY_ALIAS: Encrypted(Z0FBQUFBQmd2b0VmUW1sRjd3UWJJRlpMc0UyQzRsa3V3YWxMQ2pYeTdpVF9SdHBETEZ5TjRmTjh2NzM1bEYxM2JUVVQ1cTNIcGx2VHl0SnRmaVZ5TWVfSk9fSTZVX3RaWlE9PQ==)
flutter: 2.2.0
xcode: latest
cocoapods: default
cache:
cache_paths:
- $FLUTTER_ROOT/.pub-cache
- $FCI_BUILD_DIR/ios/Pods
- $FCI_BUILD_DIR/android/.gradle
triggering:
events:
- push
branch_patterns:
- pattern: 'develop'
include: true
source: true
scripts:
- brew install gnupg
- brew install git-secret
- |
echo $GPG_KEY | tr ',' '\n' > ./private_key.gpg
- gpg --import ./private_key.gpg
- git secret reveal -f -p $GPG_PASS
- |
# set up key.properties
echo $FCI_KEYSTORE | base64 --decode > $FCI_KEYSTORE_PATH
cat >> "$FCI_BUILD_DIR/android/key.properties" <<EOF
storePassword=$FCI_KEYSTORE_PASSWORD
keyPassword=$FCI_KEY_PASSWORD
keyAlias=$FCI_KEY_ALIAS
storeFile=/tmp/keystore.keystore
EOF
- |
# set up local properties
echo "flutter.sdk=$HOME/programs/flutter" > "$FCI_BUILD_DIR/android/local.properties"
- flutter packages pub get
- flutter pub run build_runner build --delete-conflicting-outputs
- flutter analyze
- flutter test
- flutter build apk --release --flavor qa -t lib/main_qa.dart
# - find . -name "Podfile" -execdir pod install \;
# - flutter build ios --release --no-codesign
artifacts:
- build/**/outputs/**/*.apk
- build/**/outputs/**/*.aab
- build/**/outputs/**/mapping.txt
- build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- flutter_drive.log
publishing:
email:
recipients:
scripts:
- |
#!/usr/bin/env zsh
echo 'Installing App Center CLI tools'
npm install -g appcenter-cli
echo "Find build artifacts"
apkPath=$(find build -name "*qa-release.apk" | head -1)
echo "Found apk at $apkPath"
if [[ -z ${apkPath} ]]
then
echo "No apks were found, skip publishing to App Center"
else
echo "Publishing $apkPath to App Center"
appcenter distribute release \
--group 'Collaborators QA' \
--file "${apkPath}" \
--release-notes 'App submission via Codemagic' \
--app $APP_CENTER_USERNAME_ORGANIZATION/$APP_CENTER_PROJECT \
--token "${APP_CENTER_TOKEN}" \
--quiet
fi
# echo "Find build artifacts"
# ipaPath=$(find ~/ipas -name "*qa-release.ipa" | head -1)
# echo "Found ipa at $ipaPath"
# if [[ -z ${ipaPath} ]]
# then
# echo "No ipas were found, skip publishing to App Center"
# else
# echo "Publishing $ipaPath to App Center"
# appcenter distribute release \
# --group 'Collaborators QA' \
# --file "${ipaPath}" \
# --release-notes 'App submission via Codemagic' \
# --app $APP_CENTER_USERNAME_ORGANIZATION/$APP_CENTER_PROJECT \
# --token "${APP_CENTER_TOKEN}" \
# --quiet
# fi
tests:
name: tests
max_build_duration: 60
environment:
vars:
GPG_PASS: Encrypted(Z0FBQUFBQmcwTVdvVUdBUFVUMDdjYzRJQ1cxZERhdXo0eHB3VWVkemdvY1JCX0szVGQ0ZW05NXJidzhIaG81enBWVDZ5RzhkMURQUFVWNXlJdTE3N3dxRnZOZGROeXNLT2c9PQ==)
GPG_KEY: Encrypted(Z0FBQUFBQmcwTVdvUXdoT2lES2FlamUwam5vX1RjT1BQZ0YybkpQYkR1LTBWWFRPNWpFcVVESTBKX01YVThVbHY0ZzloYllVb1FKS2tqTFFPbU9wS21PZWNLV0dRakROdWc5SC1KeHhweWluU2ZfM0xacjBhNUlqMjdqNERNeG9xRzMzYVhMR1BvZGcyNXlWQlA2a2M0TEhXT2I5SHpCSzZNOFkySjJjOVdnd1lKcEhZUzBfR0J1X0xubHdXT0NVWlhhaVE1R1NGZW0yNmtfTm90N1AxaS1nNXl3QjhmUXdkUnBHUk5NZHYxS1NTNl9tY1hleHdvVGtLM3FRU2laZUlkWlRyWEZtQ1c1UHNCT3ZoWExZX0VsNnF2Vm1nWnRRN1FuaTZaeUdhMHpBV1hvLU01eEtILWJyUE93ajk0N3lWbFc2a0JzY3NEdEZYYU1hbDVQZk1sUkJfak5RSjU5MThzSFpNUEw4OFZMQm53cmZncEFNaDF1WHlsOGU1aDM0QUw4SnVkT3dtR21PVndKejZDRC10WGFlRWNxc1k2N2ZQRG9vXzZHOFVBNTh4dktmdWVCaDFhdHJEaDJRS1RSbFFlM0dVVnVKVnFnckJVM3NleU00VVB6YloyOWJqNG5GUnN4Ymk2MzBLSEJkVW83OFBXaGJMUVV6Q0NZQWo4Q1BIcTRFdVBPYTMyalJLOVhJV3F2TzA3b1ktdkNKb2p3bmZRME9tbVFBbGg3ZzExOEg3Q0JmVDBiZTVyd0VQV1VfR2lWeWtsV1ZEdlZ1cGd0bUMyM2Q0MkdXdEhJUXdSaGt0Z0xEdGgzdWNxOS1OSkMxTG4yTEpvakdlSlhkX1NTcHh1dDFrd1VFMnZZUFhWNk9TUFNaRlI1UzRtSVJ6dXBXLXp3MmdnZ3I2MVRFNXNpOExYNmk4MzFhR1d1MmtyNHRmeG5CcVZfRmxGX0xrM29MRXdySEZLU25nZkVKYmZYN0lvUkw5WkhvSS1uZnlFRWFVaE1xRHJBRzhMVDRsb2g4SFBCT3R2RFNQYi1ZMHdPZFE2dW5QS0VSekdSek5VbzNUOEJSVGluM09nckpPUGhNb3VjdldXVVdzMWZQR0N0ZFo4RDNyZkxYRWk0cVRGb05ka1VEeGFqUzlzNjJIMTJQZUVkMkU1MGxkaENBallfWm5jX240REYwWjJGdFlCODZaSER0ZVNFTHlzU0Y3U2VpRWVhNUhmZUtGUzVFb3Z5S05tM2lxbVlFaXZOZjJNTTdrcmtPd3RpQ2N2eTBWZ2Y3bDA4cG44M1VzUnZ6NmhuYUd1M1FNOVo5ZlNXeHBValB0YzZBNVZTRTNUWmtnM3FxZEwwRjVvckd3aHhLTmhQR0pqakdOUGdIQUh0aWxoU0tGSEg3R1ptNko0RFNSNnlRV0pSaW5WMTdIa2U5VjNpRml0ZjNjTmpONkZpUm41NjZhdHd6T1FkdmFreGVTM2g4NVRyM2tQOUlQTWQyaFFCU2tYSTZVM2RrMzBXbXh2QmsySjZDU3ZuSGk1TzBELVgzbHlXTHRFRmpTWTdqMGJ0TFVNdTdYZEtfTEliWno3NldrQTFrMVNmQ2xnRTJSajg1X0c3WHpITkFfVkhmYkZ5T2hGbWhiNkFNb00tX2JlLTJxNU9LQXlGeEJOTlhHTUZSWFl3SGRwNEpubGNPLWZVSlFsVm81ajlKdDdGREVWZjBxNkpLZE4zd0NhRThyMkh3dTNDUl9JZFRxalRMc1dfcE1xdGRORUhnVWZGNk9LbjRSQWVpXzRySjdBcDBXc0pONHNJbXYtRkNXWW5VdmxteVIxZklJWkgzcjl1THVJTUxXOE82eFBRSm5nMTdHYW9rckdROU9VRzV4ZHRJSVg1a2I3dzl5S0oySVJ2RFhUZFNJMktPWFpWNEJBUHZrWlhXY1NvMlpRck42djdhdERWYV9PZURxeG1SZ3UzZERnZFVkWUFjWFBBVHcxeV9NZkNHNWltRmZ6Z0c3UDdOaG53Q1BnbFo4OUV5bTdYRm9PS0ZsWlpIYmtpZGpsa1dydzFrMzZTdjJ3aXd4M2RKVGU2TkdKd3Fva0FDZnRqR1E1QnIwV1lsMG9YWndOWW11WmcyVm4zenRCOVUtMGhsN0xiLUVyaFhlMGMzSGpfemkzSjFHdUZNUjJkS0Y1MGdDbG5ZVW9NMDJwWXlKalN1TkhSSElZMkpWcDJmOE03eU1IRHprNmc3RzRteGE2STY4N1hGX0l0UFk3VlN4b0syTWFmWWJxZl9JWTVQdTRPZGU4ZDNTeG11a2JSX1duS2oxWnByVjkxUWxvLUx1LUwwdmVrbVBFVHVYanp6aHZaa2JBUWNsZC04RFRZaC1UTERaMzRNUmFpUzBXNEFnX1BLS0lXM05qUDlOMVd6dnAyX1JGYWc1RDRsRmFfeHM2eWs1eUI2OUxOSW1WVGNzVzA1TnlocnFDZ3pLLVBYTDVzLTdhbjljSC1WVUZpVnd3YWZaR0g2eDRZMWdrWlV6RzJzV25FY3lzTnp4V0Nza3N5Y0k4eXdDUHBNSVpZc3VnNnBBTzY4ZnJiUjJ6UmJXVTJROEJncHh2NU04OGxnRG4wbkg2UHgxN2ZsNElXbVI2OE1lUTFNQ05uVUg1MEZMVzhvUHpvY2VVcGVneWhNemJPajFraFdfdzdqR2dzQWJSNElOZXQzR1pOQlViMlpLRXZyUTVWNk1KckVFbWR1S2dNSnRNbHJPMHNydFVQRGxpU1FCQzJBQnlNaU1SbHhWQ1pHUWlSNHhjRERYcUZHMjhhU09vV1Q0cFJZQkZJeFBtcnZoZ2NsemY2N3E3ajNwcEJ4LTF6Y3dGVUVHNTZYcldaWGNQNXpkTHhMbEtwVjhlZjNRbjV5NlFJTjJwa0Z5V0dtRzNJaXRwUENWLU0wMWlBbFpXdktZd2NlRFdlSHVZLUluSVNFcXNfTVloWDN1YVp0eHRyMGktMVR3aWpRdXNNMURhR3RyYU1fS3JkWlkxbUN3bjhlOUY1ZDYxekIwcDlScEI5OEVKOEdFalU4UUw4SjVycGdPcmhjak1sazVrNGpiOGxDTGdUWkFTRnUzaFpCRUtmWHExWmViWkpLUENybzQ4MFItcXdiLXhKaXZ6LWJkMXJRSThUMkwxMTlTaHNHUF83eG95U0Y1UmVSQXhQM3pYSXZJN3AzWUJYb0dfencyOG9kZ25zdDRuR3FCREFWSzczR0lfSDlPZHRIN1NlYTMwZE1QbDlqRDA3N3NncnVSS1A3Ujc2RzBUU0t4TUtkR25Kell6S1JyV2p5TFdOLXZia3hZUWxXXzd1NktHTHpHZVRvb2J1WEdIOUNmSlpuclc3VnA5VWczRnZwenJ3TUplOFZwVndoU1hHUzd6UlVQSVNZeFdTUHJDTF9fcE1ySC1iSEh3eVBPbzhEWjNxTW94aVEtcGsyVXJ2eEJjdUNWZG9hTVZHdDVsTmxaakE3b1VybmN6NDdKWTdQUllad1lzMlpKN2RfQldVMVFNODZJTmM1VGMxSWpBU0xKWVFMX0FIN29aVUxKU0Z5V0lnTmFVT2hsLWpydjNRQ1c3cTd1WnBEXzNOay1KaUl3NU1QQnM5a2JraXZWSGJzeFR3V28tcjJVZ1hhZkdXeGhHazhFRDhIUEtTcHdQMjdCSDZTa19acGU1SjNDenFLa09VT2FndTJ4cjBhU3gxNkdWVmRMc3hRSzAweWQzMmJxdWV4cUo1R1gzQ0pKWXEzdW8zTjZTRlBRcEpMNlE5TGRqUHNzRzVLUllCSVpZSXh6enlONEJoOHZfQ19RclUxYkdkdHJUUEdmN3R1SnV5aFdITW9wS3JhQmxzbU4zcUhfNE5VS1pLM3V3N2JZUC1XUkJCcXpGMTdocmNlVmQxTGpRNXJOSHoycFlUS1YwX29mOWRFM3RjTGlTQkpKX2poVVQ3WUlsMnc1WHM1bElXM203cnNzNTFkQTNwSUFsWGZ4S1ZXdEFEekZRQkpuOERjaXhvUjh1WE0wX3hIT0tldXV4NUxsOVlTWDFHQnFZNGdIWjdlVUZBcEpVdmhHZEpqemNYTkF3RlpyeHd2MFlwUnRDVC1BNWpXUHVZcmF1aWlQN0tvaVpoMm4zX08zdFVpZUI5aGpxLUZIUHdOT2huWXY4RDQxblFJMWJYdTVWNWFSbVl2Nkx1ZERYRC1FYUcwOTBkRjJTYkQ1VjNrSnBOcHVSYUVvdkFsZ2FvWXZKeWFweDM5N0hxSWxYYVdrZDZWbFlHbEk1dGVkYlhhejBuc1pTTEYwc1FLbU1Wc21ac1hITUo4b2Itam54LUhTakVxX3NPdnJGdGx3a1V5b2NPcWVMOGJ6WEk0YkRCcmswS25mWnNMdzRJRHlKNlJ6MXg3blBwNTRGVVZZOWphSzRjbFhtVnZZeHl4Ymlza0s2WEloX05vUUZsRkMxaV84N3hwQUNWOWhGY3lCc29lRGtBRFJNOGRQNTNmN1E9PQ==)
APP_CENTER_PROJECT: flutter_getx_template
APP_CENTER_USERNAME_ORGANIZATION: morellitecinfo-gmail.com
APP_CENTER_TOKEN: Encrypted(Z0FBQUFBQmd4MHlSVE5pMTdFWXMycjJEU3FiWGROZnJ3MjdRMUVXLVIyY3htQ2tOeHFUU2lKNGk2cS1VV21BWTh5MzNyd3JTSWJSRHJKejNxa1FHQ1NObWtxRDRDWkh0SWs3OVhpYU1yZHVpS01JQ3EyUjkxYUdyQW1BM3ZZY2xIQ05TQUdFVFdRWXo=)
flutter: 2.2.0
xcode: latest
cocoapods: default
cache:
cache_paths:
- $FLUTTER_ROOT/.pub-cache
- $FCI_BUILD_DIR/ios/Pods
- $FCI_BUILD_DIR/android/.gradle
triggering:
events:
- pull_request
branch_patterns:
- pattern: '*'
include: true
source: true
scripts:
- brew install gnupg
- brew install git-secret
- |
echo $GPG_KEY | tr ',' '\n' > ./private_key.gpg
- gpg --import ./private_key.gpg
- git secret reveal -f -p $GPG_PASS
- flutter packages pub get
- flutter pub run build_runner build --delete-conflicting-outputs
- flutter analyze
- flutter test
artifacts:
- flutter_drive.log
publishing:
email:
recipients: