rancher-sandbox / rancher-desktop

Container Management and Kubernetes on the Desktop
https://rancherdesktop.io
Apache License 2.0
5.93k stars 280 forks source link

Linux E2E CI failures #7622

Open mook-as opened 2 hours ago

mook-as commented 2 hours ago

Actual Behavior

Linux E2E tests are failing on main; this is making it difficult to merge PRs.

Steps to Reproduce

Look at the Linux E2E tests in main or PRs.

Result

They are failing, because electron is failing to launch.

  1) backend.e2e.spec.ts:29:7 › KubernetesBackend › should start loading the background services and hide progress bar 

    Error: Process failed to launch!

    TypeError: Cannot read properties of undefined (reading 'context')

       at utils/TestUtils.ts:238

      236 |
      237 | export async function teardown(app: ElectronApplication, testInfo: TestInfo) {
    > 238 |   const context = app.context();
          |                       ^
      239 |   const { file: filename } = testInfo;
      240 |
      241 |   await context.tracing.stop({ path: reportAsset(testInfo) });

        at teardown (/home/runner/work/rancher-desktop/rancher-desktop/e2e/utils/TestUtils.ts:238:23)
        at /home/runner/work/rancher-desktop/rancher-desktop/e2e/backend.e2e.spec.ts:27:56

Expected Behavior

Tests should pass.

Additional Information

This only happens on rancher-sandbox/rancher-desktop; E2E tests on the same commit pass on a fork. Re-running the tests on the same commit in rancher-sandbox/rancher-desktop fails.

This fails on PRs into a different (non-main) branch.

This does not happen locally (for two separate people).

Rancher Desktop Version

9c4941f4a398357d48f6f6e41e742641a9087e1d

Rancher Desktop K8s Version

N/A

Which container engine are you using?

containerd (nerdctl)

What operating system are you using?

Ubuntu

Operating System / Build Version

GitHub CI

What CPU architecture are you using?

x64

Linux only: what package format did you use to install Rancher Desktop?

None

Windows User Only

No response

mook-as commented 2 hours ago

This appears to be dying with a SIGTRAP:

2024-10-10T20:27:53.5042108Z 2024-10-10T20:26:24.056Z pw:test:protocol ◀ RECV {"method":"__dispatch__","params":{"method":"stdErr","params":{"text":"  \u001b[30;1mpw:browser \u001b[0m<launched> pid=4813 \u001b[30m+3ms\u001b[0m\n"}}}
2024-10-10T20:27:53.5042407Z   pw:browser <launched> pid=4813 +3ms
2024-10-10T20:27:53.5045670Z 2024-10-10T20:26:24.577Z pw:test:protocol ◀ RECV {"method":"__dispatch__","params":{"method":"stdErr","params":{"text":"  \u001b[30;1mpw:browser \u001b[0m[pid=4813][err] [4813:1010/202624.575507:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/runner/work/rancher-desktop/rancher-desktop/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755. \u001b[30m+520ms\u001b[0m\n"}}}
2024-10-10T20:27:53.5048209Z   pw:browser [pid=4813][err] [4813:1010/202624.575507:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/runner/work/rancher-desktop/rancher-desktop/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755. +520ms
2024-10-10T20:27:53.5049607Z 2024-10-10T20:26:24.722Z pw:test:protocol ◀ RECV {"method":"__dispatch__","params":{"method":"stdErr","params":{"text":"  \u001b[30;1mpw:browser \u001b[0m[pid=4813] <process did exit: exitCode=null, signal=SIGTRAP> \u001b[30m+146ms\u001b[0m\n"}}}
2024-10-10T20:27:53.5050210Z   pw:browser [pid=4813] <process did exit: exitCode=null, signal=SIGTRAP> +146ms

Maybe something is off with the electron install?

mook-as commented 2 hours ago

I see that for some reason it's running Ubuntu 22.04 in my fork, but 24.04 in the upstream repo. Maybe GitHub is gradually updating the runners?