Validate invite codes before showing the signup form #3589
ci.yml
on: pull_request
Format
58s
Lint
50s
Typecheck
2m 3s
Test
4m 1s
E2E (stdio MCP)
Desktop smoke build
1m 21s
Self-host Docker image
2m 1s
Matrix: e2e
Annotations
13 errors and 15 warnings
|
src/db/db.test.ts > upsertOrganization · slug is minted at insert > keeps the slug stable across renames (conflict updates name only):
apps/cloud/src/auth/user-store.ts#L22
Error: Failed query: select "id", "name", "slug", "created_at" from "organizations" where "organizations"."id" = $1
params: org_0f00896e-4e30-4c4c-ac61-eadf00d7fff0
❯ PostgresJsPreparedQuery.queryWithCache ../../node_modules/.bun/drizzle-orm@0.45.2+5a31dd1da077a461/node_modules/src/pg-core/session.ts:73:10
❯ ../../node_modules/.bun/drizzle-orm@0.45.2+5a31dd1da077a461/node_modules/src/postgres-js/session.ts:58:16
❯ getOrganization src/auth/user-store.ts:22:18
❯ Object.upsertOrganization src/auth/user-store.ts:53:22
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { query: 'select "id", "name", "slug", "created_at" from "organizations" where "organizations"."id" = $1', params: [ 'org_0f00896e-4e30-4c4c-ac61-eadf00d7fff0' ] }
Caused by: Caused by: Error: read ECONNRESET
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -104, code: 'ECONNRESET', syscall: 'read', query: undefined, parameters: undefined, args: [ 'org_0f00896e-4e30-4c4c-ac61-eadf00d7fff0' ], types: null }
|
|
E2E (cloud 4of8)
Process completed with exit code 1.
|
|
[cloud] cloud/auth-routing-flow.test.ts > Auth routing · signed out → login → onboarding → dashboard, one browser session:
e2e/cloud/auth-routing-flow.test.ts#L61
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Connect your MCP client') to be visible
❯ cloud/auth-routing-flow.test.ts:61:57
❯ step src/surfaces/browser.ts:154:15
❯ cloud/auth-routing-flow.test.ts:58:7
❯ src/surfaces/browser.ts:166:13
|
|
[cloud] cloud/auth-routing-flow.test.ts > Auth routing · signed out → login → onboarding → dashboard, one browser session:
e2e/cloud/auth-routing-flow.test.ts#L61
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Connect your MCP client') to be visible
❯ cloud/auth-routing-flow.test.ts:61:57
❯ step src/surfaces/browser.ts:154:15
❯ cloud/auth-routing-flow.test.ts:58:7
❯ src/surfaces/browser.ts:166:13
|
|
[cloud] cloud/auth-routing-flow.test.ts > Auth routing · signed out → login → onboarding → dashboard, one browser session:
e2e/cloud/auth-routing-flow.test.ts#L61
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Connect your MCP client') to be visible
❯ cloud/auth-routing-flow.test.ts:61:57
❯ step src/surfaces/browser.ts:154:15
❯ cloud/auth-routing-flow.test.ts:58:7
❯ src/surfaces/browser.ts:166:13
|
|
E2E (cloud 7of8)
Process completed with exit code 1.
|
|
[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: 'alpha474a6650' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui474a6650.*.*.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: 'alpha837ed95d' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui837ed95d.*.*.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: 'alpha4bc1f630' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui4bc1f630.*.*.records.create)', { exact: true }) to be visible
- waiting for" http://localhost:42600/org-user-495246d1/integrations/polui4bc1f630" navigation to finish...
- navigated to "http://localhost:42600/org-user-495246d1/integrations/polui4bc1f630"
❯ 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
|
|
E2E (selfhost)
Process completed with exit code 1.
|
|
[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: 'alpha4da80db7' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui4da80db7.*.*.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: 'alphafafd8925' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched poluifafd8925.*.*.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: 'alpha28fafc84' }).getByRole('button').filter({ hasText: 'create' }).getByLabel('Blocked (matched polui28fafc84.*.*.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
|
|
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/
|
|
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/
|
|
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/
|
|
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 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. 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 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/
|
|
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/
|
|
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/
|
|
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/
|
|
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 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/
|
|
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. 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~V2XJXB.dockerbuild
|
60.6 KB |
sha256:52e02ada23b619cabbefe33096a907be442e4ac3190cf7e4a1e3ecd5fb0a64dc
|
|
|
e2e-runs-cloud-4of8
|
24.5 MB |
sha256:8d5ddfa1a051dfe3b82354340803f9dac5631cd7ecd30b1e9a515dbc796f671b
|
|
|
e2e-runs-cloud-7of8
|
40.9 MB |
sha256:54445537617e1b921bb200453d7c9eedbb37d953b5fcaef4fbfa8e965c36fdf9
|
|
|
e2e-runs-selfhost
|
96.7 MB |
sha256:50eff289ea5b0c5827339a81d3a6af3e95278d60f364b4c54fcd6fe1b2f11cd1
|
|