Repository navigation
Conversation
|
As a side note: the cypress action GH action documentation states that the @JulienVig two points:
|
JulienVig
left a comment
There was a problem hiding this comment.
All good thanks! Being explicit on the CI browser sounds fine to me. However I think we should set a fallback browser.
|
|
||
| In CI, Cypress workflows run in Google Chrome (`browser: chrome`). | ||
|
|
||
| When running end-to-end training tests locally, you can select which browser to run with using the `DISCO_E2E_BROWSER` environment variable (e.g. `chrome`, `firefox`, `edge`): |
There was a problem hiding this comment.
The env var sets the browser for every webapp tests, not just end-to-end training no? If so this subsection doesn't need to be nested in "Training end-to-end tests"
There was a problem hiding this comment.
| When running end-to-end training tests locally, you can select which browser to run with using the `DISCO_E2E_BROWSER` environment variable (e.g. `chrome`, `firefox`, `edge`): | |
| When running end-to-end training tests locally, you can choose the browser with the `DISCO_E2E_BROWSER` environment variable (e.g. `chrome`, `firefox`, `edge`): |
| ); | ||
|
|
||
| export default defineConfig({ | ||
| defaultBrowser: process.env.DISCO_E2E_BROWSER, |
There was a problem hiding this comment.
regarding your comment on a fallback browser I think we should set one (I guess chrome is more likely to already be installed) and if contributors want to use a different one they can just use the env var
There was a problem hiding this comment.
This would also ensure that new tests still run on chrome in the CI if we forget to specify the browser in the yaml file
| with: { name: all-builds } | ||
| - uses: cypress-io/github-action@v7 | ||
| with: | ||
| browser: chrome |
There was a problem hiding this comment.
Can you look into chrome-for-testing (doc)? mabe this would be a good option for the CI
There was a problem hiding this comment.
Do we want to pin the browser version? I don't think we're doing anything particularly fancy + if our tests were to actually fail on a new chrome version it'd be desirable to know. Also we'd have to keep updated the version we use if we decide to pin it. I'll look into it more deeply that's just my first impression
There was a problem hiding this comment.
I was also wondering about this, I also think that failing on different chrome versions is what we want even if it could be flaky depending on the CI machine. Maybe we can ensure that we log the browser version in the CI for troubleshooting?
| DISCO_E2E_BROWSER=chrome pnpm -F webapp run test:e2e:local | ||
| ``` | ||
|
|
||
| On Linux, running image tasks (such as LUS COVID) with real browsers like Chrome or Firefox is recommended over headless Electron to leverage hardware WebGL acceleration and avoid CPU software fallback stalls. |
There was a problem hiding this comment.
I think we can remove any mention of Electron since it is deprecated and will be removed, especially if we set a default fallback browser
Cypress is officially planning to deprecate its bundled Electron test browser:
In addition, Electron exhibits subtle behavioral and rendering divergences in headless Linux environments (e.g. forced
--disable-gpuand software fallback quirks).This PR:
browser: chrome).DISCO_E2E_BROWSERenvironment variable (e.g.DISCO_E2E_BROWSER=firefox,chrome,edge).docs/CONTRIBUTING.md.