-
Notifications
You must be signed in to change notification settings - Fork 4k
188 lines (179 loc) · 6.81 KB
/
all_plugins.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
name: all_plugins
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
paths-ignore:
- 'docs/**'
- 'website/**'
- '**.md'
push:
branches:
- main
paths-ignore:
- 'docs/**'
- 'website/**'
- '**.md'
jobs:
analyze:
timeout-minutes: 45
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Run Analyze'
run: melos analyze-ci
# Separated from "analyse" action as pubspec_override file is not being taken into account when running `flutter pub publish --dry-run`
# This will fail on CI until this is fixed: https://github.com/invertase/melos/issues/467
# You need to switch to Flutter 3.3.0, and run this test manually to check it works and update PR to confirm its success
pub_dry_run:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Pub Check'
run: |
melos exec -c 1 --no-private --ignore="*example*" -- \
dart pub publish --dry-run
pub_get_check:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Flutter Pub Get'
run: |
melos exec -c 1 --scope="*example*" -- \
"flutter pub get"
format:
# switch back to ubuntu-latest when swiftformat is working again
runs-on: macos-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- uses: Homebrew/actions/setup-homebrew@master
- name: 'Install Tools'
run: |
alias python=python3
flutter pub global activate flutter_plugin_tools
brew install swiftformat
brew install clang-format
brew link --overwrite --force clang-format
- name: 'Formatter version'
run: |
clang-format --version
swiftformat --version
- name: 'Dart, Java and Objective-C '
run: |
flutter pub global run flutter_plugin_tools format
./.github/workflows/scripts/validate-formatting.sh
- name: 'Swift'
if: ${{ success() || failure() }}
run: |
swiftformat .
./.github/workflows/scripts/validate-formatting.sh
build_examples_dart:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Build Examples'
run: |
melos exec -c 1 --scope="*example*" --dir-exists="web" -- \
"flutter build web"
swift-integration:
runs-on: macos-latest
timeout-minutes: 30
env:
FLUTTER_DEPENDENCIES: "cloud_firestore firebase_remote_config cloud_functions firebase_database firebase_auth firebase_storage firebase_analytics firebase_messaging firebase_app_check firebase_in_app_messaging firebase_performance firebase_dynamic_links firebase_crashlytics firebase_ml_model_downloader"
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@2783a3f08e1baf891508463f8c6653c258246225
with:
# TODO - enabling swift is on `master` channel at the moment. Update when it's on `stable`
channel: 'master'
- name: Setup firebase_core example app to test Swift integration
# run this before running melos boostrap to ensure the example app is set up
run: |
cd packages/firebase_core/firebase_core/example
flutter pub add $FLUTTER_DEPENDENCIES
cd ../../../..
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Swift Integration Setup'
run: flutter config --enable-swift-package-manager
- name: 'Build Apps with Swift Package Manager'
run: dart ./.github/workflows/scripts/swift-integration.dart $FLUTTER_DEPENDENCIES
test:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
melos-version: '5.3.0'
- name: 'Flutter Test'
run: melos run test --no-select
- name: 'Flutter Test - Web'
run: melos run test:web --no-select
check-files-license-headers:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
with:
go-version: '^1.13.1'
# Go is used by addlicense command (addlicense is used in melos run
# check-license-header)
- run: go install github.com/google/addlicense@latest
- name: Install Dart
uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
- name: Install Melos
uses: bluefireteam/melos-action@c7dcb921b23cc520cace360b95d02b37bf09cdaa
with:
# Running `melos bootstrap` is not needed because we use Melos just
# for the `check-license-header` script.
run-bootstrap: false
melos-version: '5.3.0'
- name: Check license header
run: melos run check-license-header