@@ -231,6 +231,62 @@ jobs:
231231 BROWSERS : ' Firefox'
232232 EXPERIMENTAL_MODE : true
233233
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
234290 # A job that fails if any required job in the test matrix fails,
235291 # to be used as a required check for merging.
236292 check-required-tests :
@@ -241,4 +297,4 @@ jobs:
241297 steps :
242298 - name : Check test matrix
243299 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