[09:40:52] Apologies if I got it wrong, I've joined the channel yesterday so I'm missing context, but if you're discussing https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikiLambda/+/854873 I left a comment there [09:41:42] Thanks for your answer. I think of an answer to it :) [09:41:49] xvfb is in the CI containers, but at least selenium tests don't use it any more (I don't know about other tests) because all browsers these days have a headless mode [09:42:48] (I'm not always on IRC but I'll check the channel at least every day, in case you have selenium questions) [09:43:09] Thank you zeljkof! [09:45:35] I guess what I didn't make clear in the gerrit comment is that you can just do `unset DISPLAY` in the terminal (if you just need it once) or in the .bashrc or .zshrc file (if you want to make it permanent) [09:45:50] but creating a new npm script would also do the job, if you prefer that [09:46:36] I think unsetting the DISPLAY variable on Linux may create a side-effect on some script relying on it, I wouldn't suggest that [09:48:03] (That's because of it that I am not very comfortable with playing with the DISPLAY env variable to toggle the headless mode) [10:52:04] I saw that the ffmpeg process to record a video relies on the DISPLAY environment, and from what I understand on a browser window to appear. [10:52:04] I see that Playwright allows recording of a headless browser by taking multiple screenshots and passing them to ffmpeg : https://github.com/microsoft/playwright/blob/d4053abd2972cb7168b31478b160c5bc3bf05b90/packages/playwright-core/src/server/chromium/videoRecorder.ts [10:52:04] Wdio offers a way to take screenshots. I guess we may do the same as Playwright. [10:52:04] Would recording videos of headless browsers be valuable? I can try to study this possibility if so [10:55:16] (Please don't hesitate to say "no", I have not a good idea of what would be the added value and I don't want to bother you if there are none ^^) [13:14:37] We already take screenshots and record videos of headless browsers. [13:15:19] This is how it's done in CI [13:15:20] https://www.mediawiki.org/wiki/Selenium/How-to/Record_videos_of_test_runs [13:15:33] and you can do it locally, on a linux machine or in a container [14:31:28] I see. Thanks for the link! [21:15:14] Hey florent, I'm just commenting "recheck" to re-run the CI jobs. I suspect the failure is a flake, but I also imagine that the tests on betacluster are going to be flakey in general. :/ [21:16:27] I suspect that the error might be because an element not appearing as soon as it should be: [21:16:27] https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php74-selenium-docker/8541/console [21:16:32] I add a waitForExists [21:17:55] I pushed a new change if that's OK for you kindrobot [21:20:51] Ahah, you seem to be right, my patch did not change anything 😅 [21:28:21] Hmm, it's actually still failing. But it passes for me locally. (Well, it fails about 1 in 10 runs). I'm running `MW_SERVER=https://wikifunctions.beta.wmflabs.org/ npm run selenium-test` [21:31:33] I'll ask zeljkof tomorrow. (He's done working for the day.) [21:31:40] 1 in 10 runs seems still a high rate of failures, doesn't it? Are these failures also due to the beta server? [21:32:08] In the meantime, there are some linting errors if you look at quibble-vendor-mysql-php74-noselenium-docker, if you wouldn't mind fixing those up. [21:32:23] Sure! [21:32:31] Yeah it is pretty high. The beta cluster is not terribly reliable. [21:33:37] My main focus right now is to stand up ephemeral, dedicated, testing environments in k8s which should make things smoother, but in the meantime, we'll likely have to deal with some flakiness on betacluster. [21:34:24] I see [21:38:10] phpcs is meant to also lint javascript? I get errors due to the POMs [21:40:07] Also phpcs seems to mistake a selector in a string for code, that's odd [21:41:05] Ahah, I fixed it! [21:41:42] Great! [21:42:08] I gotta go for now, but I'll touch base with zeljkof in the morning. :) [21:46:01] Sure! Good evening (I guess) and see you soon!