@@ -24,7 +24,12 @@ this_dir=${BASH_SOURCE[0]%/*}
24
24
25
25
# # CLI PARSING
26
26
27
- default_suites=(analyze test build_runner drift pigeon icons)
27
+ default_suites=(
28
+ analyze test
29
+ build_runner drift pigeon icons
30
+ android # This takes multiple minutes in CI, so do it last.
31
+ )
32
+
28
33
extra_suites=(
29
34
shellcheck # Requires its own dependency, from outside the pub system.
30
35
)
@@ -77,7 +82,7 @@ while (( $# )); do
77
82
--all) opt_files=all; opt_all=1; shift ;;
78
83
--fix) opt_fix=1; shift ;;
79
84
--verbose) opt_verbose=1; shift ;;
80
- analyze|test|build_runner|drift|pigeon|icons|shellcheck)
85
+ analyze|test|build_runner|drift|pigeon|icons|android| shellcheck)
81
86
opt_suites+=(" $1 " ); shift ;;
82
87
* ) usage;;
83
88
esac
@@ -351,6 +356,18 @@ run_icons() {
351
356
check_no_changes " icon updates" " ${outputs[@]} "
352
357
}
353
358
359
+ run_android () {
360
+ # Omitted from this check:
361
+ # pubspec.{yaml,lock} tools/check
362
+ files_check android/ \
363
+ || return 0
364
+
365
+ flutter build apk \
366
+ || return
367
+
368
+ flutter build appbundle
369
+ }
370
+
354
371
run_shellcheck () {
355
372
# Omitted from this check: nothing (nothing known, anyway).
356
373
files_check tools/ ' !*.' {dart,js,json} \
@@ -424,6 +441,7 @@ for suite in "${opt_suites[@]}"; do
424
441
drift) run_drift ;;
425
442
pigeon) run_pigeon ;;
426
443
icons) run_icons ;;
444
+ android) run_android ;;
427
445
shellcheck) run_shellcheck ;;
428
446
* ) echo >&2 " Internal error: unknown suite $suite " ;;
429
447
esac || failed+=( " $suite " )
0 commit comments