-
Notifications
You must be signed in to change notification settings - Fork 0
/
melos.yaml
105 lines (91 loc) · 2.86 KB
/
melos.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
name: flutter_reach_five
packages:
- flutter_reach_five
- flutter_reach_five_android
- flutter_reach_five_ios
- flutter_reach_five_platform_interface
- reach_five_identity_repo
command:
bootstrap:
# It seems so that running "pub get" in parallel has some issues (like
# https://github.com/dart-lang/pub/issues/3404). Disabling this feature
# makes the CI much more stable.
runPubGetInParallel: false
scripts:
analyze:
# We are setting the concurrency to 1 because a higher concurrency can crash
# the analysis server on low performance machines (like GitHub Actions).
run: |
melos exec -c 1 -- \
dart analyze . --fatal-infos
description: |
Run `dart analyze` in all packages.
- Note: you can also rely on your IDEs Dart Analysis / Issues window.
build_runner:
exec: dart run build_runner build --delete-conflicting-outputs
description: Run build_runner
packageFilters:
dependsOn: 'build_runner'
build_runner:watch:
exec: dart run build_runner watch --delete-conflicting-outputs
description: Watch build_runner
packageFilters:
dependsOn: 'build_runner'
generate:pigeon:
run: melos exec -- "flutter pub run pigeon --input ./pigeons/reach_five.dart && dart format lib test"
packageFilters:
fileExists: "pigeons/reach_five.dart"
generate:identity_api:
run: bash generate_reach_five_identity_api.bash
test:all:
run: |
melos run test --no-select
description: |
Run all tests available.
test:
run: |
melos exec -c 6 --fail-fast -- \
"flutter test --no-pub --test-randomize-ordering-seed random"
description: Run `flutter test` for a specific package.
packageFilters:
dirExists:
- test
ignore:
- "*web*"
- "*example*"
test_coverage:all:
run: |
melos run test_coverage --no-select
description: |
Run all tests available.
test_coverage:
run: |
melos exec -c 6 --fail-fast -- \
"flutter test --coverage --no-pub --test-randomize-ordering-seed random && \
remove_from_coverage -f coverage/lcov.info -r '\.g\.dart' && \
genhtml coverage/lcov.info -o coverage"
description: Run `flutter test` for a specific package.
packageFilters:
dirExists:
- test
ignore:
- "*web*"
- "*example*"
open_coverage:all:
run: |
melos run open_coverage --no-select
description: Open coverage for all packages.
open_coverage:
run: |
melos exec -c 6 --fail-fast -- \
"open coverage/index.html"
description: Open coverage for a specific package.
packageFilters:
dirExists:
- test
ignore:
- "*web*"
- "*example*"
# Additional cleanup lifecycle script, executed when `melos clean` is run.
postclean: >
melos exec -c 6 -- "flutter clean"