-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathmelos.yaml
91 lines (78 loc) · 2.68 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
name: smartrider
packages:
- apps/**
# mostly using melos for the ability to run scripts in multiple package folders
scripts:
lint:all:
run: melos run analyze && melos run format
description: Run all static analysis checks
analyze:
run: |
melos exec -c 5 -- \
dart analyze . --fatal-infos
description: |
Run `dart analyze` in all packages.
- Note: you can also rely on your IDEs Dart Analysis / Issues window.
# firebase:emulator:
# run: |
# cd .github/workflows/scripts && ./start-firebase-emulator.sh
# description: |
# Start the Firebase emulator suite. Used by Functions, Firestore, Auth and Storage
# integration testing.
# - Requires Node.js and NPM installed.
format:
run: dart pub global run flutter_plugin_tools format
description: |
Build a specific example app for Android.
- Requires `flutter_plugin_tools` (`pub global activate flutter_plugin_tools`).
- Requires `clang-format` (can be installed via Brew on macOS).
build:all:
run: |
melos run build:example_ios_pub --no-select && melos run build:example_android_pub --no-select && melos bootstrap
description: Build all example apps (currently ios and android, macos requires flutter channel master)
build:example_android_pub:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build apk"
description: Build a specific example app for Android.
select-package:
dir-exists:
- android
scope: "*example*"
build:example_ios_pub:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build ios --no-codesign"
description: Build a specific example app for iOS.
select-package:
dir-exists:
- ios
scope: "*example*"
test:all:
run: melos run test --no-select
description: Run all tests available on stable channel
test:
run: |
melos exec -c 6 --fail-fast -- \
"flutter test --no-pub"
description: Run `flutter test` for a specific package.
select-package:
dir-exists:
- test
ignore:
- "*web*"
- "*example*"
# Clean things very deeply, can be used to establish "pristine checkout" status
clean:deep: >
git clean -x -d -f -q
# Additional cleanup lifecycle script, executed when `melos clean` is ran.
postclean: >
melos exec -c 6 -- "flutter clean"
# Run all targets generally expected in CI for a full local quality check
qualitycheck: >
melos run clean:deep && melos clean && melos bootstrap && melos run lint:all && melos run build:all && melos run test:all
dev_dependencies:
pedantic: ^1.11.0
environment:
sdk: ">=2.12.0 <3.0.0"
flutter: ">=2.2.1 <3.0.0"