-
Notifications
You must be signed in to change notification settings - Fork 885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce WebkitHeadless browser testing #8491
base: main
Are you sure you want to change the base?
Conversation
Replace Safari with WebkitHeadless in list of supported karma browsers Install playwright browsers in CI Set WEBKIT_HEADLESS_BIN Update launcher version Run firestore test changed on push Fix Don't use in test-changed-firestore Ignore failing tests
|
Size Report 1Affected Products
Test Logs |
Size Analysis Report 1This report is too large (126,839 characters) to be displayed here in a GitHub comment. Please use the below link to see the full report on Google Cloud Storage.Test Logs |
run: yarn build:changed core | ||
- name: Run tests on changed packages | ||
run: | | ||
npx lerna run test:browser --scope @firebase/database-compat |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
Introduce WebKitHeadless browser testing, using the
karma-webkit-launcher
plugin. The plugin uses playwright to launch it'sWebkitHeadless
browser, and uses that browser to run karma tests on.This is significantly better than the proposed solution in #8396, where we forked the old
karma-safari-launcher
plugin, because it uses a headless browser. This means thatHow to run locally:
Testing:
I ran all of the browser tests against WebkitHeadless locally, and did not encounter any unexpected failures (the flakes in firestore still occur). Everything works as expected.
When running the same tests in CI, I noticed that several packages are now flaky (seemingly only in CI?): installations, storage-compat, database, database-compat, app-check. It's not clear why these are suddenly only failing in the headless webkit browser in CI, so let's skip them for now, and add a
TODO
to fix this later.