26
26
27
27
jobs :
28
28
job_install_deps :
29
- name : Install Dependencies
29
+ name : Install Dependencies - Linux
30
30
runs-on : ubuntu-latest
31
31
timeout-minutes : 15
32
32
steps :
@@ -43,14 +43,40 @@ jobs:
43
43
uses : actions/cache@v2
44
44
id : cache_dependencies
45
45
with :
46
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
46
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
47
47
key : ${{ steps.compute_lockfile_hash.outputs.hash }}
48
48
- name : Install dependencies
49
49
if : steps.cache_dependencies.outputs.cache-hit == ''
50
50
run : yarn install --ignore-engines
51
51
outputs :
52
52
dependency_cache_key : ${{ steps.compute_lockfile_hash.outputs.hash }}
53
53
54
+ job_install_deps_windows :
55
+ name : Install Dependencies - Windows
56
+ runs-on : windows-latest
57
+ timeout-minutes : 15
58
+ steps :
59
+ - name : Check out current commit (${{ github.sha }})
60
+ uses : actions/checkout@v2
61
+ - name : Set up Node
62
+ uses : actions/setup-node@v1
63
+ # we use a hash of yarn.lock as our cache key, because if it hasn't changed, our dependencies haven't changed,
64
+ # so no need to reinstall them
65
+ - name : Compute dependency cache key
66
+ id : compute_lockfile_hash
67
+ run : echo "::set-output name=hash::${{ hashFiles('yarn.lock') }}"
68
+ - name : Check dependency cache
69
+ uses : actions/cache@v2
70
+ id : cache_dependencies
71
+ with :
72
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-windows
73
+ key : ${{ steps.compute_lockfile_hash.outputs.hash }}
74
+ - name : Install dependencies
75
+ if : steps.cache_dependencies.outputs.cache-hit == ''
76
+ run : yarn install --ignore-engines
77
+ outputs :
78
+ dependency_cache_key_windows : ${{ steps.compute_lockfile_hash.outputs.hash }}
79
+
54
80
job_build :
55
81
name : Build
56
82
needs : job_install_deps
64
90
- name : Check dependency cache
65
91
uses : actions/cache@v2
66
92
with :
67
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
93
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
68
94
key : ${{ needs.job_install_deps.outputs.dependency_cache_key }}
69
95
- name : Check build cache
70
96
uses : actions/cache@v2
@@ -107,7 +133,7 @@ jobs:
107
133
- name : Check dependency cache
108
134
uses : actions/cache@v2
109
135
with :
110
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
136
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
111
137
key : ${{ needs.job_build.outputs.dependency_cache_key }}
112
138
- name : Check build cache
113
139
uses : actions/cache@v2
@@ -137,7 +163,7 @@ jobs:
137
163
- name : Check dependency cache
138
164
uses : actions/cache@v2
139
165
with :
140
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
166
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
141
167
key : ${{ needs.job_build.outputs.dependency_cache_key }}
142
168
- name : Check build cache
143
169
uses : actions/cache@v2
@@ -160,7 +186,7 @@ jobs:
160
186
- name : Check dependency cache
161
187
uses : actions/cache@v2
162
188
with :
163
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
189
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
164
190
key : ${{ needs.job_build.outputs.dependency_cache_key }}
165
191
- name : Check build cache
166
192
uses : actions/cache@v2
@@ -171,7 +197,7 @@ jobs:
171
197
run : yarn circularDepCheck
172
198
173
199
job_unit_test :
174
- name : Test (Node ${{ matrix.node }})
200
+ name : Test (Node ${{ matrix.node }} - Linux )
175
201
needs : job_build
176
202
continue-on-error : true
177
203
timeout-minutes : 30
@@ -189,20 +215,47 @@ jobs:
189
215
- name : Check dependency cache
190
216
uses : actions/cache@v2
191
217
with :
192
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
218
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
193
219
key : ${{ needs.job_build.outputs.dependency_cache_key }}
194
220
- name : Check build cache
195
221
uses : actions/cache@v2
196
222
with :
197
223
path : ${{ env.CACHED_BUILD_PATHS }}
198
224
key : ${{ env.BUILD_CACHE_KEY }}
199
225
- name : Run tests
200
- env :
201
- NODE_VERSION : ${{ matrix.node }}
202
- run : ./scripts/test.sh
226
+ run : node ./scripts/test.js
203
227
- name : Compute test coverage
204
228
uses : codecov/codecov-action@v1
205
229
230
+ job_unit_test_windows :
231
+ name : Test (Node ${{ matrix.node }} - Windows)
232
+ needs : [job_build, job_install_deps_windows]
233
+ continue-on-error : true
234
+ timeout-minutes : 30
235
+ runs-on : windows-latest
236
+ strategy :
237
+ matrix :
238
+ node : [6, 8, 10, 12, 14, 16]
239
+ steps :
240
+ - name : Check out current commit (${{ github.sha }})
241
+ uses : actions/checkout@v2
242
+ - name : Set up Node
243
+ uses : actions/setup-node@v1
244
+ with :
245
+ node-version : ${{ matrix.node }}
246
+ - name : Check dependency cache
247
+ uses : actions/cache@v2
248
+ with :
249
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-windows
250
+ key : ${{ needs.job_build.outputs.dependency_cache_key_windows }}
251
+ - name : Check build cache
252
+ uses : actions/cache@v2
253
+ with :
254
+ path : ${{ env.CACHED_BUILD_PATHS }}
255
+ key : ${{ env.BUILD_CACHE_KEY }}
256
+ - name : Run tests
257
+ run : node ./scripts/test.js
258
+
206
259
# Ember tests are separate from the rest because they are the slowest part of the test suite, and making them a
207
260
# separate job allows them to run in parallel with the other tests.
208
261
job_ember_tests :
@@ -231,7 +284,7 @@ jobs:
231
284
- name : Check dependency cache
232
285
uses : actions/cache@v2
233
286
with :
234
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
287
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
235
288
key : ${{ needs.job_build.outputs.dependency_cache_key }}
236
289
- name : Check build cache
237
290
uses : actions/cache@v2
@@ -255,7 +308,7 @@ jobs:
255
308
- name : Check dependency cache
256
309
uses : actions/cache@v2
257
310
with :
258
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
311
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
259
312
key : ${{ needs.job_build.outputs.dependency_cache_key }}
260
313
- name : Check build cache
261
314
uses : actions/cache@v2
@@ -289,7 +342,7 @@ jobs:
289
342
- name : Check dependency cache
290
343
uses : actions/cache@v2
291
344
with :
292
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
345
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
293
346
key : ${{ needs.job_build.outputs.dependency_cache_key }}
294
347
- name : Check build cache
295
348
uses : actions/cache@v2
@@ -322,7 +375,7 @@ jobs:
322
375
- name : Check dependency cache
323
376
uses : actions/cache@v2
324
377
with :
325
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
378
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
326
379
key : ${{ needs.job_build.outputs.dependency_cache_key }}
327
380
- name : Check build cache
328
381
uses : actions/cache@v2
@@ -351,7 +404,7 @@ jobs:
351
404
- name : Check dependency cache
352
405
uses : actions/cache@v2
353
406
with :
354
- path : ${{ env.CACHED_DEPENDENCY_PATHS }}
407
+ path : ${{ env.CACHED_DEPENDENCY_PATHS }}-linux
355
408
key : ${{ needs.job_build.outputs.dependency_cache_key }}
356
409
- name : Check build cache
357
410
uses : actions/cache@v2
0 commit comments