Skip to content

Self-host: split auth layout with product context beside the form #3628

Self-host: split auth layout with product context beside the form

Self-host: split auth layout with product context beside the form #3628

Triggered via pull request July 2, 2026 18:22
Status Failure
Total duration 41m 23s
Artifacts 6

ci.yml

on: pull_request
Matrix: e2e
Fit to window
Zoom out
Zoom in

Annotations

26 errors and 15 warnings
E2E (cloud 6of8)
Process completed with exit code 1.
[cloud] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L59
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/auth-methods-ui.test.ts:59:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/auth-methods-ui.test.ts:58:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L59
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/auth-methods-ui.test.ts:59:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/auth-methods-ui.test.ts:58:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L42
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByText('How does this server authenticate?') to be visible ❯ scenarios/auth-methods-ui.test.ts:42:70 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/auth-methods-ui.test.ts:36:9 ❯ src/surfaces/browser.ts:166:13
E2E (cloud 8of8)
Process completed with exit code 1.
[cloud] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L48
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/mcp-catalog-sync-ui.test.ts:48:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/mcp-catalog-sync-ui.test.ts:47:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L48
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/mcp-catalog-sync-ui.test.ts:48:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/mcp-catalog-sync-ui.test.ts:47:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L43
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByText('How does this server authenticate?') to be visible ❯ scenarios/mcp-catalog-sync-ui.test.ts:43:70 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/mcp-catalog-sync-ui.test.ts:37:9 ❯ src/surfaces/browser.ts:166:13
E2E (cloud 4of8)
Process completed with exit code 1.
E2E (cloud 7of8)
Process completed with exit code 1.
[cloud] scenarios/provider-plugins-ui.test.ts > Provider plugins · Google and Microsoft own their add flows outside OpenAPI: e2e/scenarios/provider-plugins-ui.test.ts#L58
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('heading', { name: 'Add Microsoft Graph' }) to be visible ❯ scenarios/provider-plugins-ui.test.ts:58:74 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/provider-plugins-ui.test.ts:54:7 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/provider-plugins-ui.test.ts > Provider plugins · Google and Microsoft own their add flows outside OpenAPI: e2e/scenarios/provider-plugins-ui.test.ts#L58
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('heading', { name: 'Add Microsoft Graph' }) to be visible ❯ scenarios/provider-plugins-ui.test.ts:58:74 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/provider-plugins-ui.test.ts:54:7 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/provider-plugins-ui.test.ts > Provider plugins · Google and Microsoft own their add flows outside OpenAPI: e2e/scenarios/provider-plugins-ui.test.ts#L48
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('heading', { name: 'Add Google' }) to be visible ❯ scenarios/provider-plugins-ui.test.ts:48:65 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/provider-plugins-ui.test.ts:44:7 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alphab490049b' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched poluib490049b.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alpha9ea26041' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui9ea26041.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[cloud] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alphaf92414c2' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched poluif92414c2.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/provider-plugins-ui.test.ts > Provider plugins · Google and Microsoft own their add flows outside OpenAPI: e2e/scenarios/provider-plugins-ui.test.ts#L58
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('heading', { name: 'Add Microsoft Graph' }) to be visible ❯ scenarios/provider-plugins-ui.test.ts:58:74 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/provider-plugins-ui.test.ts:54:7 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alpha553ce987' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui553ce987.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alpha87792267' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui87792267.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules: e2e/scenarios/policies-ui.test.ts#L180
TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for getByRole('tabpanel').locator('section').filter({ hasText: 'alpha8b1a8f53' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui8b1a8f53.*.*.records.create)', { exact: true }) to be visible ❯ scenarios/policies-ui.test.ts:180:84 ❯ step src/surfaces/browser.ts:154:15 ❯ scenarios/policies-ui.test.ts:175:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L48
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/mcp-catalog-sync-ui.test.ts:48:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/mcp-catalog-sync-ui.test.ts:47:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L48
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/mcp-catalog-sync-ui.test.ts:48:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/mcp-catalog-sync-ui.test.ts:47:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification: e2e/scenarios/mcp-catalog-sync-ui.test.ts#L48
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/mcp-catalog-sync-ui.test.ts:48:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/mcp-catalog-sync-ui.test.ts:47:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L59
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/auth-methods-ui.test.ts:59:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/auth-methods-ui.test.ts:58:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L59
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/auth-methods-ui.test.ts:59:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/auth-methods-ui.test.ts:58:9 ❯ src/surfaces/browser.ts:166:13
[selfhost] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method: e2e/scenarios/auth-methods-ui.test.ts#L59
TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Add source' }) ❯ scenarios/auth-methods-ui.test.ts:59:66 ❯ step src/surfaces/browser.ts:154:21 ❯ scenarios/auth-methods-ui.test.ts:58:9 ❯ src/surfaces/browser.ts:166:13
Lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Desktop smoke build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Self-host Docker image
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, docker/build-push-action@v6, docker/setup-buildx-action@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Format
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 3of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 2of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 6of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 5of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 8of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 1of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 4of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (cloud 7of8)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E (selfhost)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
RhysSullivan~executor~CO74F4.dockerbuild
60.1 KB
sha256:16fc6241cc90abeab5af51a64972f9846ea144a10dbc4008712d6395ba843d0f
e2e-runs-cloud-4of8
20.8 MB
sha256:b35aca7f5570d4b1cf46e2cab538ad6a08841b8f9d0e496d6a83330a714aebc3
e2e-runs-cloud-6of8
21 MB
sha256:2ef0e5a1129b9c4d182f5bb2c6fa7fffb32142d58dd57831a5fb37842feba7f6
e2e-runs-cloud-7of8
27.3 MB
sha256:30017c18996bbf048066fbf55f1076b7f727c5033480999ff2792b6c519a4476
e2e-runs-cloud-8of8
11.8 MB
sha256:bd1266ea0305617a7f6c3ef7ce71dc6ec4203b0dd1405494b5e9cd16403dacdb
e2e-runs-selfhost
97.6 MB
sha256:3c9b821e5d87648ef15c1c95b200eca6ed5b4cb983d0bfac7a6948c6bf080550