Skip to content
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

fix: Prepare CI to properly run Electron on ubuntu-latest (24.04) #34238

Merged
merged 15 commits into from
Jan 9, 2025

Conversation

agg23
Copy link
Contributor

@agg23 agg23 commented Jan 7, 2025

GitHub Actions updated the ubuntu-latest tag to point to Ubuntu 24.04 without much of an announcement (see actions/runner-images#10636). This included removing several required packages for running Electron, causing our Electron smoke tests to fail.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 added the CQ1 label Jan 7, 2025

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 added CQ1 and removed CQ1 labels Jan 8, 2025

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 requested review from mxschmitt and Skn0tt January 8, 2025 17:12

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 added CQ1 and removed CQ1 labels Jan 8, 2025

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@agg23 agg23 removed the CQ1 label Jan 8, 2025

This comment has been minimized.

@agg23 agg23 added the CQ1 label Jan 8, 2025

This comment has been minimized.

This comment has been minimized.

if: ${{ runner.os == 'Linux' }}
run: |
if grep -q "Ubuntu 24" /etc/os-release; then
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
Copy link
Member

@yury-s yury-s Jan 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this actually help? We already run electron with --no-sandbox which is recommended as alternative solution in the internet. In github codespaces changing this option didn't have any effect on the tests for me.

Update: it did help in the codespaces, but not in 24.04 docker.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not that it's relevant here, but what error were you seeing in Docker? If it's not the same image as the CI machines there may be additional dependencies that need to be installed.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Test results for "tests 1"

7 flaky ⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-22.04-node18
⚠️ [chromium-library] › tests/library/popup.spec.ts:264:3 › should not throw when click closes popup @ubuntu-20.04-chromium-tip-of-tree
⚠️ [webkit-library] › tests/library/browsercontext-clearcookies.spec.ts:92:3 › should remove cookies by domain @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/browsercontext-reuse.spec.ts:50:1 › should reset serviceworker @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/proxy.spec.ts:93:11 › should proxy local network requests › by default › link-local @webkit-ubuntu-22.04-node18
⚠️ [webkit-library] › tests/library/selector-generator.spec.ts:438:5 › selector generator › should accept valid aria-label for candidate consideration @webkit-ubuntu-22.04-node18
⚠️ [webkit-page] › tests/page/page-set-input-files.spec.ts:147:3 › should upload large file @webkit-ubuntu-22.04-node18

37545 passed, 648 skipped
✔️✔️✔️

Merge workflow run.

Copy link
Contributor

github-actions bot commented Jan 9, 2025

Test results for "tests others"

21464 passed, 503 skipped
✔️✔️✔️

Merge workflow run.

Copy link
Contributor

github-actions bot commented Jan 9, 2025

Test results for "tests 2"

1 fatal errors, not part of any test
3 failed
❌ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-dev-macos-latest
❌ [chromium-library] › tests/library/browsertype-connect.spec.ts:853:7 › run-server › socks proxy › should lead to the error page for forwarded requests when the connection is refused @msedge-macos-latest
❌ [webkit-library] › tests/library/trace-viewer.spec.ts:1598:1 › should show a popover @webkit-macos-13-xlarge

110 flaky ⚠️ [chromium-library] › tests/library/beforeunload.spec.ts:20:3 › should close browser with beforeunload page @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browser.spec.ts:54:5 › should dispatch page.on(close) upon browser.close and reject evaluate @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:23:5 › launch server › should work @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/chromium/oopif.spec.ts:284:3 › should click @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/global-fetch-cookie.spec.ts:143:1 › should send not expired cookies @channel-chromium-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-aria.spec.ts:77:7 › should update aria snapshot highlight @channel-chromium-windows-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @channel-chromium-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:234:5 › run-server › should send extra headers with connect request @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:274:5 › run-server › disconnected event should be emitted when browser is closed or server is closed @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:477:5 › should allow tracing over cdp session @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @chrome-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @chrome-beta-windows-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:581:5 › screencast › should capture static page in persistent context @smoke @chrome-beta-windows-latest
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:27:3 › should work when passing the proxy only on the context level @chrome-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:867:7 › run-server › socks proxy › should proxy based on the pattern @chrome-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:63:5 › launch server › should provide an error when ws endpoint is incorrect @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:466:7 › cli codegen › should save assets via SIGINT @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-csharp.spec.ts:171:5 › should work with --save-har @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-csharp.spec.ts:227:7 › should work with --save-har and --save-har-glob in mstest @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-java.spec.ts:92:5 › should work with --save-har and --save-har-glob as java-library @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-test.spec.ts:99:5 › should generate routeFromHAR with --save-har @chrome-macos-latest
⚠️ [chromium-library] › tests/library/logger.spec.ts:19:3 › should log @smoke @chrome-macos-latest
⚠️ [chromium-library] › tests/library/signals.spec.ts:25:5 › should close the browser when the node process closes @chrome-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @chrome-windows-latest
⚠️ [chromium-page] › tests/page/locator-frame.spec.ts:272:3 › should work with COEP/COOP/CORP isolated iframe @chromium-headed-macos-14-xlarge
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-pick-locator.spec.ts:36:7 › should update locator highlight @chromium-tip-of-tree-macos-13
⚠️ [chromium-library] › tests/library/browsertype-connect.spec.ts:643:5 › run-server › should record trace with sources @chromium-tip-of-tree-macos-13--headed
⚠️ [chromium-page] › tests/page/page-mouse.spec.ts:244:3 › should tween mouse movement @chromium-tip-of-tree-ubuntu-20.04--headed
⚠️ [chromium-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @chromium-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-beta-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-beta-windows-latest
⚠️ [firefox-library] › tests/library/browsercontext-basic.spec.ts:331:3 › should emulate media in cross-process iframe @firefox-headed-macos-14-xlarge
⚠️ [firefox-library] › tests/library/capabilities.spec.ts:252:3 › requestFullscreen @firefox-headed-macos-14-xlarge
⚠️ [firefox-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @firefox-headed-macos-14-xlarge
⚠️ [firefox-page] › tests/page/page-add-locator-handler.spec.ts:230:5 › should work when owner frame detaches @firefox-headed-ubuntu-24.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-headed-ubuntu-24.04
⚠️ [firefox-library] › tests/library/browsercontext-route.spec.ts:189:3 › should work with ignoreHTTPSErrors @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/browsertype-connect.spec.ts:955:3 › launchServer only › should be able to reconnect to a browser 12 times without warnings @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/capabilities.spec.ts:22:3 › SharedArrayBuffer should work @smoke @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-1.spec.ts:828:7 › cli codegen › should record slider @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/inspector/cli-codegen-3.spec.ts:616:7 › cli codegen › should consume contextmenu events, despite a custom context menu @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/trace-viewer.spec.ts:344:1 › should show font preview @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/tracing.spec.ts:506:5 › should work with multiple chunks @firefox-headed-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-headed-windows-latest
⚠️ [firefox-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @firefox-macos-13-large
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-macos-13-large
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-macos-14-large
⚠️ [firefox-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @firefox-macos-14-xlarge
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-20.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-ubuntu-24.04
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @firefox-windows-latest
⚠️ [chromium-library] › tests/library/beforeunload.spec.ts:20:3 › should close browser with beforeunload page @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-fetch.spec.ts:1229:3 › should work with connectOverCDP @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:50:5 › launch server › should work when wsPath is missing leading slash @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/chromium/connect-over-cdp.spec.ts:89:5 › should connectOverCDP and manage downloads in default context @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-csharp.spec.ts:171:5 › should work with --save-har @msedge-beta-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-beta-ubuntu-20.04
⚠️ [chromium-library] › tests/library/beforeunload.spec.ts:20:3 › should close browser with beforeunload page @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browser.spec.ts:54:5 › should dispatch page.on(close) upon browser.close and reject evaluate @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-fetch.spec.ts:1229:3 › should work with connectOverCDP @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsertype-launch-server.spec.ts:23:5 › launch server › should work @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/chromium/chromium.spec.ts:167:15 › should pass args with spaces @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:466:7 › cli codegen › should save assets via SIGINT @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/video.spec.ts:209:5 › screencast › should continue recording main page after popup closes @msedge-dev-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-dev-ubuntu-20.04
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-dev-windows-latest
⚠️ [chromium-library] › tests/library/selector-generator.spec.ts:560:5 › selector generator › should generate multiple: noText in role @msedge-dev-windows-latest
⚠️ [chromium-library] › tests/library/browser.spec.ts:54:5 › should dispatch page.on(close) upon browser.close and reject evaluate @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-base-url.spec.ts:37:3 › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-proxy.spec.ts:27:3 › should work when passing the proxy only on the context level @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:186:1 › should ignore binding from beforeunload @msedge-macos-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-2.spec.ts:456:7 › cli codegen › should --save-trace @msedge-macos-latest
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-ubuntu-20.04
⚠️ [chromium-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @msedge-ubuntu-20.04
⚠️ [chromium-page] › tests/page/page-event-popup.spec.ts:149:3 › should not treat navigations as new popups @msedge-ubuntu-20.04
⚠️ [chromium-library] › tests/library/browsercontext-reuse.spec.ts:30:1 › should re-add binding after reset @msedge-windows-latest
⚠️ [chromium-library] › tests/library/inspector/cli-codegen-1.spec.ts:24:7 › cli codegen › should click @msedge-windows-latest
⚠️ [chromium-library] › tests/library/signals.spec.ts:25:5 › should close the browser when the node process closes @msedge-windows-latest
⚠️ [chromium-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @msedge-windows-latest
⚠️ [firefox-page] › tests/page/page-evaluate.spec.ts:403:3 › should throw for too deep reference chain @tracing-firefox
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:611:7 › cli codegen › should select @webkit-headed-macos-14-xlarge
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:484:7 › cli codegen › should emit single keyup on ArrowDown @webkit-headed-ubuntu-20.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:200:7 › cli codegen › should work with TrustedTypes @webkit-headed-ubuntu-22.04
⚠️ [webkit-library] › tests/library/browsercontext-locale.spec.ts:118:3 › should be isolated between contexts @webkit-headed-ubuntu-24.04
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-1.spec.ts:867:7 › cli codegen › should click button with nested div @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-2.spec.ts:313:7 › cli codegen › should record open in a new tab with url @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-2.spec.ts:483:7 › cli codegen › should fill tricky characters @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-3.spec.ts:733:7 › cli codegen › should assert value on disabled input @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/inspector/cli-codegen-python.spec.ts:78:5 › should save the codegen output to a file if specified @webkit-headed-windows-latest
⚠️ [webkit-page] › tests/page/page-mouse.spec.ts:244:3 › should tween mouse movement @webkit-headed-windows-latest
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @webkit-macos-13-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames fit @webkit-macos-13-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-13-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-13-xlarge
⚠️ [webkit-page] › tests/page/page-request-continue.spec.ts:197:5 › post data › should compute content-length from post data @webkit-macos-14-large
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-14-xlarge
⚠️ [webkit-page] › tests/page/wheel.spec.ts:185:3 › should scroll horizontally @webkit-macos-14-xlarge
⚠️ [webkit-library] › tests/library/video.spec.ts:381:5 › screencast › should capture navigation @webkit-macos-15-large
⚠️ [webkit-library] › tests/library/trace-viewer.spec.ts:1534:1 › canvas clipping @webkit-macos-15-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames crop @webkit-macos-15-xlarge
⚠️ [webkit-library] › tests/library/tracing.spec.ts:432:14 › should produce screencast frames scale @webkit-macos-15-xlarge
⚠️ [webkit-library] › tests/library/browsercontext-viewport-mobile.spec.ts:87:5 › mobile viewport › should support window.orientation emulation @webkit-ubuntu-20.04

257477 passed, 9858 skipped
✔️✔️✔️

Merge workflow run.

@agg23 agg23 merged commit 01ba528 into main Jan 9, 2025
106 of 111 checks passed
@agg23 agg23 deleted the ubuntu-electron-test-fix branch January 9, 2025 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants