12
12
lints :
13
13
name : Format + Lints
14
14
runs-on : ubuntu-latest
15
+ timeout-minutes : 15
15
16
steps :
16
17
- uses : actions/checkout@v4
17
18
- uses : subosito/flutter-action@v2
24
25
linux :
25
26
name : Linux desktop / Chrome / Firefox
26
27
runs-on : ubuntu-latest
28
+ timeout-minutes : 15
27
29
steps :
28
30
- uses : actions/checkout@v4
29
31
- uses : subosito/flutter-action@v2
@@ -50,19 +52,10 @@ jobs:
50
52
--target=integration_test/webcrypto_test.dart \
51
53
-d chrome
52
54
- run : xvfb-run flutter pub run test -p vm,chrome,firefox
53
- # Test with coverage collection as a separate step.
54
- # This will run in debug mode, so we test both with and without coverage.
55
- - run : xvfb-run flutter pub run test -p vm,chrome,firefox --coverage ./coverage
56
- # Report collected coverage
57
- - name : Convert coverage to lcov
58
- run : dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
59
- - uses : coverallsapp/github-action@v2
60
- with :
61
- flag-name : linux
62
- parallel : true
63
55
macos-14 :
64
56
name : MacOS 14 desktop / Chrome / Firefox
65
57
runs-on : macos-14 # Test with xcode 15
58
+ timeout-minutes : 15
66
59
steps :
67
60
- uses : actions/checkout@v4
68
61
- uses : subosito/flutter-action@v2
98
91
macos-15 :
99
92
name : MacOS 15 desktop / Chrome / Firefox
100
93
runs-on : macos-15 # Test with xcode 16
94
+ timeout-minutes : 15
101
95
steps :
102
96
- uses : actions/checkout@v4
103
97
- uses : subosito/flutter-action@v2
@@ -125,6 +119,7 @@ jobs:
125
119
windows :
126
120
name : Windows desktop / Chrome / Firefox
127
121
runs-on : windows-latest
122
+ timeout-minutes : 15
128
123
steps :
129
124
- uses : ilammy/setup-nasm@v1
130
125
- uses : actions/checkout@v4
@@ -151,19 +146,10 @@ jobs:
151
146
--target=integration_test/webcrypto_test.dart \
152
147
-d chrome
153
148
- run : flutter pub run test -p vm,chrome,firefox
154
- # Test with coverage collection as a separate step.
155
- # This will run in debug mode, so we test both with and without coverage.
156
- - run : flutter pub run test -p vm,chrome,firefox --coverage ./coverage
157
- # Report collected coverage
158
- - name : Convert coverage to lcov
159
- run : dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
160
- - uses : coverallsapp/github-action@v2
161
- with :
162
- flag-name : windows
163
- parallel : true
164
149
ios :
165
150
name : iOS emulator (iPhone)
166
151
runs-on : macos-14
152
+ timeout-minutes : 15
167
153
steps :
168
154
- uses : actions/checkout@v4
169
155
- uses : subosito/flutter-action@v2
@@ -182,6 +168,7 @@ jobs:
182
168
android :
183
169
name : Android emulator
184
170
runs-on : ubuntu-latest
171
+ timeout-minutes : 15
185
172
steps :
186
173
- uses : actions/checkout@v4
187
174
- uses : subosito/flutter-action@v2
@@ -207,12 +194,63 @@ jobs:
207
194
api-level : 28
208
195
working-directory : ./example
209
196
script : flutter test integration_test/webcrypto_test.dart -d android
197
+ linux-coverage :
198
+ name : Linux desktop / Chrome / Firefox (coverage)
199
+ runs-on : ubuntu-latest
200
+ timeout-minutes : 15
201
+ steps :
202
+ - uses : actions/checkout@v4
203
+ - uses : subosito/flutter-action@v2
204
+ with :
205
+ channel : ' stable'
206
+ cache : true
207
+ - name : Configure Flutter
208
+ run : |
209
+ sudo apt-get update -y
210
+ sudo apt-get install -y ninja-build libgtk-3-dev
211
+ flutter config --no-analytics
212
+ - run : flutter pub get
213
+ - run : flutter pub run webcrypto:setup
214
+ - run : xvfb-run flutter pub run test -p vm,chrome,firefox --coverage ./coverage
215
+ # Report collected coverage
216
+ - name : Convert coverage to lcov
217
+ run : dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
218
+ - uses : coverallsapp/github-action@v2
219
+ with :
220
+ flag-name : linux
221
+ parallel : true
222
+ windows-coverage :
223
+ name : Windows desktop / Chrome / Firefox (coverage)
224
+ runs-on : windows-latest
225
+ timeout-minutes : 15
226
+ steps :
227
+ - uses : ilammy/setup-nasm@v1
228
+ - uses : actions/checkout@v4
229
+ - uses : subosito/flutter-action@v2
230
+ with :
231
+ channel : ' stable'
232
+ cache : true
233
+ - name : Configure Flutter
234
+ run : |
235
+ flutter config --no-analytics
236
+ - run : flutter pub get
237
+ - run : flutter pub run webcrypto:setup
238
+ - run : flutter test
239
+ - run : flutter pub run test -p vm,chrome,firefox --coverage ./coverage
240
+ # Report collected coverage
241
+ - name : Convert coverage to lcov
242
+ run : dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
243
+ - uses : coverallsapp/github-action@v2
244
+ with :
245
+ flag-name : windows
246
+ parallel : true
210
247
coverage :
211
248
name : Report to coveralls
212
249
runs-on : ubuntu-latest
250
+ timeout-minutes : 15
213
251
needs :
214
- - linux
215
- - windows
252
+ - linux-coverage
253
+ - windows-coverage
216
254
steps :
217
255
- uses : coverallsapp/github-action@v2
218
256
with :
0 commit comments