@@ -231,6 +231,62 @@ jobs:
231
231
BROWSERS : ' Firefox'
232
232
EXPERIMENTAL_MODE : true
233
233
234
+ compat-test-webkit :
235
+ name : Test Firestore Compatible on Webkit
236
+ runs-on : macos-latest
237
+ needs : build
238
+ if : ${{ needs.build.outputs.changed == 'true'}}
239
+ steps :
240
+ - name : Set up Node (20)
241
+ uses : actions/setup-node@v3
242
+ with :
243
+ node-version : 20.x
244
+ - name : Download build archive
245
+ uses : actions/download-artifact@v3
246
+ with :
247
+ name : build.tar.gz
248
+ - name : Unzip build artifact
249
+ run : tar xf build.tar.gz
250
+ - name : Test setup
251
+ run : |
252
+ cp config/ci.config.json config/project.json
253
+ npx playwright install webkit
254
+ - name : Run compat tests
255
+ run : cd packages/firestore-compat && yarn run test:ci
256
+ env :
257
+ BROWSERS : ' WebkitHeadless'
258
+
259
+ test-webkit :
260
+ name : Test Firestore on Webkit
261
+ strategy :
262
+ matrix :
263
+ # TODO (dlarocque): Add test:travis once the browser tests are isolated
264
+ # Exclude test:travis for now, since it includes node tests, which are failing for
265
+ # some reason.
266
+ test-name : ["test:browser", "test:lite:browser", "test:browser:prod:nameddb", "test:lite:browser:nameddb"]
267
+ runs-on : macos-latest
268
+ needs : build
269
+ if : ${{ needs.build.outputs.changed == 'true'}}
270
+ steps :
271
+ - name : Download build archive
272
+ uses : actions/download-artifact@v3
273
+ with :
274
+ name : build.tar.gz
275
+ - name : Unzip build artifact
276
+ run : tar xf build.tar.gz
277
+ - name : Set up Node (20)
278
+ uses : actions/setup-node@v3
279
+ with :
280
+ node-version : 20.x
281
+ - name : Test setup
282
+ run : |
283
+ cp config/ci.config.json config/project.json
284
+ npx playwright install webkit
285
+ - name : Run tests
286
+ run : cd packages/firestore && yarn run ${{ matrix.test-name }}
287
+ env :
288
+ BROWSERS : ' WebkitHeadless'
289
+ EXPERIMENTAL_MODE : true
234
290
# A job that fails if any required job in the test matrix fails,
235
291
# to be used as a required check for merging.
236
292
check-required-tests :
@@ -241,4 +297,4 @@ jobs:
241
297
steps :
242
298
- name : Check test matrix
243
299
if : needs.build.result == 'failure' || needs.test-chrome.result == 'failure' || needs.compat-test-chrome.result == 'failure'
244
- run : exit 1
300
+ run : exit 1
0 commit comments