Skip to content

Build & Test

Build & Test #104

Triggered via merge group March 31, 2026 20:50
Status Success
Total duration 32m 33s
Artifacts 24

build-and-test.yaml

on: merge_group
Build Element Web
2m 47s
Build Element Web
Prepare Element Desktop  /  Prepare
42s
Prepare Element Desktop / Prepare
Matrix: playwright_ew
Downstream Playwright tests [element-modules]  /  Run Playwright end-to-end tests & upload html report
5m 21s
Downstream Playwright tests [element-modules] / Run Playwright end-to-end tests & upload html report
Matrix: Desktop Linux
Matrix: Desktop Windows
Desktop macOS  /  Build macOS Universal
9m 59s
Desktop macOS / Build macOS Universal
Desktop macOS  /  ...  /  Test macos
3m 14s
Desktop macOS / Test macOS Universal / Test macos
end-to-end-tests
55s
end-to-end-tests
Fit to window
Zoom out
Zoom in

Annotations

4 errors, 9 warnings, and 13 notices
[Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot: apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts#L336
2) [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot Error: expect(locator).toHaveScreenshot(expected) failed Locator: getByTestId('room-list').getByRole('option', { name: 'video room' }) 283 pixels (ratio 0.02 of all image pixels) are different. Snapshot: room-list-item-video.png Call log: - Expect "toHaveScreenshot(room-list-item-video.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for getByTestId('room-list').getByRole('option', { name: 'video room' }) - locator resolved to <button type="button" tabindex="-1" role="option" aria-setsize="1" aria-posinset="1" data-state="closed" aria-haspopup="menu" aria-selected="false" aria-label="Open room video room" class="_flex_4dswl_9 _roomListItem_rtaba_8 mx_RoomListItemView _firstItem_rtaba_123 _lastItem_rtaba_127">…</button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 283 pixels (ratio 0.02 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for getByTestId('room-list').getByRole('option', { name: 'video room' }) - locator resolved to <button type="button" tabindex="-1" role="option" aria-setsize="1" aria-posinset="1" data-state="closed" aria-haspopup="menu" aria-selected="false" aria-label="Open room video room" class="_flex_4dswl_9 _roomListItem_rtaba_8 mx_RoomListItemView _firstItem_rtaba_123 _lastItem_rtaba_127">…</button> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 283 pixels (ratio 0.02 of all image pixels) are different. 334 | 335 | await expect(videoRoom).toBeVisible(); > 336 | await expect(videoRoom).toMatchScreenshot("room-list-item-video.png"); | ^ 337 | }); 338 | }); 339 | at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:336:37
[Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room: apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts#L142
1) [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room Error: expect(locator).toBeFocused() failed Locator: locator('.mx_HomePage') Expected: focused Received: inactive Timeout: 5000ms Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('.mx_HomePage') 7 × locator resolved to <main tabindex="-1" class="mx_AutoHideScrollbar mx_HomePage mx_HomePage_default">…</main> - unexpected value "inactive" 140 | // Pressing Control+F6 again will focus the home section 141 | await page.keyboard.press("ControlOrMeta+F6"); > 142 | await expect(page.locator(".mx_HomePage")).toBeFocused(); | ^ 143 | 144 | // Pressing Control+F6 will bring focus back to the space button 145 | await page.keyboard.press("ControlOrMeta+F6"); at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/accessibility/keyboard-navigation.spec.ts:142:52
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:110:5 › OIDC Native › can log in to an existing MAS account @no-firefox @no-webkit @screenshot: apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L134
2) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:110:5 › OIDC Native › can log in to an existing MAS account @no-firefox @no-webkit @screenshot Error: expect(locator).toBeVisible() failed Locator: getByText('Confirm your digital identity') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Confirm your digital identity') 132 | 133 | // We should be in > 134 | await expect(page.getByText("Confirm your digital identity")).toBeVisible(); | ^ 135 | }); 136 | 137 | test.describe("with force_verification on", () => { at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:134:71
[Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot: apps/web/playwright/e2e/oidc/oidc-native.spec.ts#L106
1) [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot Error: expect(received).toHaveLength(expected) Expected length: 0 Received length: 21 Received array: ["react_sdk_session_lock_owner", "mx_local_settings", "mx_has_access_token", "mx_oidc_client_id", "mx_oidc_token_issuer", "must_verify_device", "mx_draft_cleanup", "mx_profile_displayname", "mx_device_id", "mx_has_refresh_token", …] 104 | 105 | const localStorageKeys = await page.evaluate(() => Object.keys(localStorage)); > 106 | expect(localStorageKeys).toHaveLength(0); | ^ 107 | }, 108 | ); 109 | at /home/runner/work/element-web/element-web/apps/web/playwright/e2e/oidc/oidc-native.spec.ts:106:38
Prepare Element Desktop / Prepare
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: cardinalby/git-get-release-action@5172c3a026600b1d459b117738c605fabc9e4e44. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Downstream Playwright tests [element-modules] / Run Playwright end-to-end tests & upload html report
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: Eun/http-server-action@f71cec1321f665652a46c40b6852f8e5a68bfcd4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Linux (system, arm64, true) / Build Linux arm64 SQLCipher system
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Linux (system, amd64, true) / Build Linux amd64 SQLCipher system
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Linux (static, arm64, true) / Build Linux arm64 SQLCipher static
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Linux (static, amd64, true) / Build Linux amd64 SQLCipher static
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Windows (x64) / Build Windows x64
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Windows (ia32) / Build Windows ia32
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop Windows (arm64) / Build Windows arm64
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756, nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
16 passed (2.0m)
🎭 Playwright Run Summary
1 skipped 6 passed (18.6s)
🎭 Playwright Run Summary
45 skipped 124 passed (12.2m)
🎭 Playwright Run Summary
1 skipped 6 passed (20.1s)
🎭 Playwright Run Summary
1 skipped 6 passed (20.2s)
🎭 Playwright Run Summary
1 skipped 6 passed (21.1s)
🎭 Playwright Run Summary
1 skipped 6 passed (17.5s)
🎭 Playwright Run Summary
3 skipped 158 passed (14.0m)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/accessibility/keyboard-navigation.spec.ts:106:5 › Landmark navigation tests › without an open room [Chrome] › playwright/e2e/left-panel/room-list-panel/room-list.spec.ts:320:9 › Room list › Avatar decoration › should be a video room @screenshot 175 passed (16.2m)
🎭 Playwright Run Summary
1 skipped 6 passed (23.1s)
🎭 Playwright Run Summary
2 flaky [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:82:5 › OIDC Native › it should log out the user & wipe data when logging out via MAS @no-firefox @no-webkit @screenshot [Chrome] › playwright/e2e/oidc/oidc-native.spec.ts:110:5 › OIDC Native › can log in to an existing MAS account @no-firefox @no-webkit @screenshot 2 skipped 165 passed (19.0m)
🎭 Playwright Run Summary
1 skipped 6 passed (27.1s)
🎭 Playwright Run Summary
1 skipped 6 passed (28.1s)

Artifacts

Produced during runtime
Name Size Digest
blob-report-Chrome-1 Expired
8.73 MB
sha256:d4fc39e11afc9fc3938bf130f772a7b990c02c600b670a44fffea5a8c07ded53
blob-report-Chrome-2 Expired
883 KB
sha256:5343904cc15f8d014161f20e7d4c2278ccdf63ac451c72b537d2fd7d55b99258
blob-report-Chrome-3 Expired
947 KB
sha256:658fe7a4b2a0c8b21376856828cdfb3f24b10fa0005b64c035c2d349bbe82541
blob-report-Chrome-4 Expired
12.4 MB
sha256:d045e2e7b960980c0dcdc021f0f79074d6242e35a6502744bd3539ae10e66bcc
blob-report-linux-amd64-sqlcipher-static Expired
10.6 KB
sha256:0665a7073f12d458a29fc585619ec42ed15b34090da3d8ee81ca74c6d6bb6576
blob-report-linux-amd64-sqlcipher-system Expired
10.9 KB
sha256:fff0d1f6af0e495f8ca88847154801fe1648607534640be645be1c746ef6dd06
blob-report-linux-arm64-sqlcipher-static Expired
11 KB
sha256:86ed716d35cabbf100f36776a84d16547ae9eb5c0c9d9e4e016159fb9177c4ff
blob-report-linux-arm64-sqlcipher-system Expired
10.8 KB
sha256:67e5d76062dd45af46c8106562c14785c6dc35f2a9d51cf6b802e8b581f1a6a3
blob-report-macos Expired
10.4 KB
sha256:808942418a2bea39bd29e61adcaf8152b14e650e978a512e350cdf523ef43ce6
blob-report-win-arm64 Expired
10.2 KB
sha256:8a2863ece23757fd7c55aae933545c52f3b1d39884292101736986725492d8d0
blob-report-win-ia32 Expired
9.96 KB
sha256:1fe91c520acddbf3149ac65af0944da2efcc0bf3072f262ffce761f728915a8b
blob-report-win-x64 Expired
9.92 KB
sha256:d36b7c54cbd4a92d100c6ec7057ba9811bfad9fb7f6cde3b695005318de9ab29
desktop-prepare Expired
41.1 MB
sha256:a2755211d5b51b66f606f4e1cd26bcbf99c34a8f6dd89212afb35545d3cecaad
html-report Expired
22.5 MB
sha256:77481f9d294f00d360e6d19566a6915a185e1ea4f5170fc93cc61d9b978a86f5
linux-amd64-sqlcipher-static Expired
287 MB
sha256:e3074ff6c2ad8663b031ce5c241ba8272fe9fa0d712ff393fc3ffc8be78a1386
linux-amd64-sqlcipher-system Expired
284 MB
sha256:ebf3c3e7237e141afc4850e13eb6ff7aaa9b5de14f064a3421d949a0ee000caf
linux-arm64-sqlcipher-static Expired
282 MB
sha256:16952b80b3dec60bda0fa70d5ab52cead925ce81df2421d481235855e0300e82
linux-arm64-sqlcipher-system Expired
279 MB
sha256:06c8c413db4b4bedee5db63eacef50b12fcdb4a68b1a5b0c26c19ac8b2114b06
macos Expired
509 MB
sha256:fc8748f4b6a98dbfe4bf3cf200a523d48e32d647385e86d36cfe1133e8f4bfde
playwright-html-report Expired
303 KB
sha256:ff6da8b908cb1ddaa19940b0460acebcc4bfd25f7cecffb7f462f1af7466f228
webapp Expired
41.3 MB
sha256:e9ec008ae65b8ad77a166aa91ab70e06263fd70fa58b6e8179606644ad82c368
win-arm64 Expired
698 MB
sha256:2fa601dc10e28713031011570d6898ce5af5a3b902c98a1d7d56dade43df8c17
win-ia32 Expired
636 MB
sha256:3d8a38e5af596449e2f32fe5fcf5254c297c925f7d900272df958d4128e46801
win-x64 Expired
710 MB
sha256:f0ac601bd3ef5438eb4dca8df82138a99521fe2a66bd7c10a55dea612fe3bfe5