feat: Support built-in authentication in the Cloudflare host #5311
ci.yml
on: pull_request
Changed paths
7s
Matrix: e2e
Cloud evaluated closure
1m 18s
Desktop smoke build
1m 20s
Self-host Docker image
1m 17s
Annotations
181 errors and 79 warnings
|
[selfhost] scenarios/browser-approval.test.ts > MCP · a gated action declined in the browser is blocked:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/browser-approval.test.ts > MCP · a gated action approved in the browser runs to completion:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/oauth-popup-callback-org-state.test.ts > OAuth callback · a self-host org-context popup callback completes with the wrapped state:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-oauth-scope-discovery-emulate.test.ts > MCP OAuth · oauth.start discovers scopes from a deployed emulate MCP server:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-approve.test.ts > MCP · a paused execution resumes after human approval:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/cli-device-login.test.ts > CLI · executor login device flow → authenticated /api call:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/auth-methods-ui.test.ts > Auth methods · the connect modal collects one value per input of a 2-input method:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/auth-methods-ui.test.ts > Auth methods · a custom method added in the connect modal keeps OAuth:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/auth-methods-ui.test.ts > Slack MCP · Register OAuth app shows the Slack setup deep link:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/auth-methods-ui.test.ts > Auth methods · a detected-OAuth server gets an API key declared alongside:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · the integrations list auto-checks and shows an expired MCP server at a glance:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · the Add Connection modal wheel-scrolls when the response overflows:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · the connections list shows a persisted expired verdict at a glance:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · Add Connection derives the connection name from the probed identity:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · edit sheet with identity: preview the response, then healthy then expired:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · the combobox list scrolls inside the edit sheet:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · clicking a combobox option in the sheet selects it without closing the sheet:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · add screen large spec: typing reaches an operation beyond the preview's top slice:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · large spec: typing filters the operation picker down to the match:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-ui.test.ts > Health checks (UI) · the request panel: pre-seeded call, one Check, response rows pick the identity:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-refresh-on-401.test.ts > Auth failures · a token the upstream rejects is re-minted and the call retried, so a revoked credential recovers without a reconnect:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-session-state.test.ts > MCP · session state set by one tool call is visible to the next call:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-catalog-sync-ui.test.ts > MCP catalog · the Tools tab follows a server-side rename after a list_changed notification:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/integration-families.test.ts > Integrations · related MCP services collapse into their declared family:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connection-remove-confirm.test.ts > Connections (UI) · Remove asks for confirmation; cancel keeps, confirm removes:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifacts.test.ts > Artifacts · a session connected with artifacts=false loses the artifact surface:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifacts.test.ts > Artifacts · a tweak updates the artifact in place, and a tweak that cannot render is refused:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifacts.test.ts > Artifacts · renaming and deleting in the console is what the agent sees next:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifacts.test.ts > Artifacts · create-artifact hands a non-Apps client a deep link that renders the live component:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifact-preview-gallery.test.ts > Artifacts · the gallery shows each artifact's real layout, in light and dark:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/admin-users-pager.test.ts > Admin · the Users pager walks a workspace larger than one page without dropping or repeating anyone:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/policies.test.ts > Policies · a created policy appears in the list for the owning identity:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/openapi-integration.test.ts > OpenAPI · registering a spec exposes its operations as tools:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/no-auth-connection.test.ts > Connections · an agent creates a no-auth connection over the core tool and the public API answers 200:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-execute.test.ts > MCP · a syntax error returns a descriptive message, not an opaque internal error:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-execute.test.ts > MCP · OAuth connect, then execute code in the sandbox:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks-mcp.test.ts > Health checks · MCP liveness reports healthy, then expired when the token is revoked:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connection-health-verdict.test.ts > Health checks (UI) · every surface showing a broken connection paints a verdict, and probes exactly once:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connection-health-verdict.test.ts > Health checks · a connection whose refresh is refused reports a persisted verdict instead of failing the request:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifact-loading-surface.test.ts > Artifacts · opening an artifact shows one loading surface, not three:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
Test
Process completed with exit code 1.
|
|
Test
@executor-js/host-cloudflare#test: command (/home/runner/_work/executor/executor/apps/host-cloudflare) /home/runner/.bun/bin/bun run test exited (1)
|
|
src/worker.e2e.node.test.ts > cloudflare host e2e with built-in auth (AUTH_MODE=builtin) > manages the entire first-run setup, signup restrictions, and invite code flow:
apps/host-cloudflare/src/worker.e2e.node.test.ts#L587
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ src/worker.e2e.node.test.ts:587:35
|
|
[selfhost] scenarios/shape-memory.test.ts > Muscle memory · a schemaless tool's observed output shape reaches describe:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/policies-ui.test.ts > Policies · the tool tree's per-tool menu and category menu both author working rules:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/openapi-unknown-args.test.ts > OpenAPI: unknown tool arguments fail locally before any upstream request:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-scope-insufficient.test.ts > Auth failures · a scope-insufficient 403 tells the agent to reconnect with broader access, not to re-authenticate:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-add-url-typing-probe.test.ts > MCP add flow · a half-typed Server URL is not probed:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/google-disabled-api.test.ts > Google · a disabled upstream API reads as API disabled with the enable link, not Expired:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connect-handoff.test.ts > Connect · the agentic handoff URL opens this deployment's add-account flow and the pasted key works:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods-ui.test.ts > Auth methods · the add flow declares an API key alongside the detected method:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/api-tools.test.ts > API · a fresh identity starts with zero connections:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/api-tools.test.ts > API · typed client lists the available tools:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-catalog-sync.test.ts > MCP catalog · calling a tool the server retired fails typed and heals the catalog:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-catalog-sync.test.ts > MCP catalog · a list_changed notification during a call refreshes the catalog on the next read:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/graphql-introspection-health.test.ts > GraphQL · a healthy account row keeps the connection's name:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/graphql-introspection-health.test.ts > GraphQL · failed introspection blocks connection creation with an actionable error:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/google-photos-preset-ui.test.ts > Google Photos: separated catalog presets open a Photos service add flow:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods.test.ts > Auth methods · one integration mixes oauth, a 2-input header+query method, a bearer header, and a query token:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods.test.ts > Auth methods · a GraphQL integration registers multiple auth methods at add time:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods.test.ts > Auth methods · a no-auth MCP server can declare an API key method later:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods.test.ts > Auth methods · adding an API key method keeps a detected OAuth method:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/auth-methods.test.ts > Auth methods · an MCP server can declare OAuth and an API key side by side:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
Typecheck
Process completed with exit code 1.
|
|
[selfhost] selfhost/mcp-oauth-scope-discovery.test.ts > MCP OAuth · oauth.start requests the scopes the server advertises, not a declared set:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-auth-required-add.test.ts > Auth methods · a non-spec-compliant 401 still gets the auth editor (no dead-end):
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/run-panel-auto-approve.test.ts > Run panel · autoApprove runs an approval-gated tool that otherwise pauses:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/openapi-server-selection.test.ts > OpenAPI · a multi-server spec advertises a per-call server selector on its tools:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-refresh-rejected.test.ts > Auth failures · a refresh rejected by the authorization server surfaces as an actionable auth failure, not an internal error:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/microsoft-emulator.test.ts > Microsoft · client credentials against the emulator mint a Graph connection and call /users:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/integrations.test.ts > Integrations · a fresh workspace ships the built-in executor integration ready to use:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/google-health-checks.test.ts > Google · OAuth catalog connection without a health check is healthy from the grant:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/google-health-checks.test.ts > Google · Calendar and Gmail catalog health checks run against the emulator:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connect-deep-link.test.ts > Connect · /connect/<slug> lands an end user in that integration's connect flow:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-client-handoff.test.ts > OAuth client · oauth.clients.create still pauses for human approval and a decline writes nothing:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-client-handoff.test.ts > OAuth client · createHandoff returns a secret-free deep link and is not approval-gated:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/namespace-search-tools.test.ts > Discovery · a session connected with search_tools=true serves one search tool per integration:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/mcp-cloudflare-codemode-warning.test.ts > MCP add flow · a Cloudflare URL without codemode=false gets the opt-out warning:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/toolkits-mcp.test.ts > Toolkits · self-host MCP exposes only the toolkit's allowed tools:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-request-headers-add.test.ts > MCP headers · a 403 edge gate is addable with service-token headers:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-oauth-reconnect-health.test.ts > MCP OAuth · DCR reconnect keeps the dialog open and reaches OAuth start:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-oauth-reconnect-health.test.ts > MCP OAuth · completed reconnect refreshes the health verdict without a page reload:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-oauth-reconnect-health.test.ts > MCP OAuth · invalid_grant refresh during health check returns expired instead of 500:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] selfhost/mcp-enterprise-managed-auth.test.ts > MCP enterprise-managed authorization · an Okta ID-JAG connects and calls an MCP server with no consent step, and admin policy blocks it:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
Self-host Docker image
buildx failed with: /src/solver/jobs.go:1182
|
|
E2E (selfhost 1of10)
Process completed with exit code 1.
|
|
[selfhost] scenarios/artifact-approval.test.ts > Artifacts · declining an artifact action leaves it unrun:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/artifact-approval.test.ts > Artifacts · a destructive action approved from an artifact runs after a human-scale delay:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-callback-url.test.ts > OAuth · registering an app in the connect modal shows the callback URL to allow-list:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/oauth-callback-url.test.ts > OAuth · the authorization-code flow redirects to this platform's /api/oauth/callback:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · ifStaleMs returns the cached verdict while fresh and probes once stale:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · a probe's error detail never echoes the credential back:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · a mutating operation is refused as a probe (hard block, not just ranking):
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · a connection with no configured check reports unknown, not a failure:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · the identity picker surfaces shallow fields across a discriminated union:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · a saved connection reports healthy, then expired when its key stops working:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/health-checks.test.ts > Health checks · configuring a check, then validating a key derives the connection identity:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
[selfhost] scenarios/connect-handoff-session.test.ts > Connect · developer session: agent chat → handoff link → paste key → verified send:
e2e/targets/selfhost.ts#L40
Error: selfhost: sign-in set no cookie (500)
❯ signInSession targets/selfhost.ts:40:33
❯ targets/selfhost.ts:165:41
|
|
E2E (cloud 4of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/google-health-checks.test.ts > Google · OAuth catalog connection without a health check is healthy from the grant:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: /Connect/ }).first()
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/google-health-checks.test.ts:92:13
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/google-health-checks.test.ts:89:5
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/google-health-checks.test.ts > Google · Calendar and Gmail catalog health checks run against the emulator:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: /Connect/ }).first()
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/google-health-checks.test.ts:92:13
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/google-health-checks.test.ts:89:5
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 9of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/openapi-multi-key-auth-ui.test.ts > OpenAPI · the Cloudflare email and key auth method shows separate credential fields:
e2e/scenarios/openapi-multi-key-auth-ui.test.ts#L66
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Connections').first() to be visible
❯ scenarios/openapi-multi-key-auth-ui.test.ts:66:57
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/openapi-multi-key-auth-ui.test.ts:64:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/member-invite-seat-limit.test.ts > Billing · a free org fills its 3 member seats, then invites are blocked with a reason:
e2e/cloud/member-invite-seat-limit.test.ts#L50
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ cloud/member-invite-seat-limit.test.ts:50:20
❯ step src/surfaces/browser.ts:276:15
❯ cloud/member-invite-seat-limit.test.ts:48:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 8of16)
Process completed with exit code 1.
|
|
[cloud] cloud/oauth-callback-unauthenticated.test.ts > OAuth callback · a signed-out callback uses login returnTo and resumes the connection:
e2e/cloud/oauth-callback-unauthenticated.test.ts#L120
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Sign in to manage your tools and integrations') to be visible
❯ cloud/oauth-callback-unauthenticated.test.ts:120:79
❯ step src/surfaces/browser.ts:276:15
❯ cloud/oauth-callback-unauthenticated.test.ts:117:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/admin-users-console.test.ts > Admin · the Users page shows every member and what each has connected, and refuses a plain member:
e2e/cloud/admin-users-console.test.ts#L131
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ cloud/admin-users-console.test.ts:131:24
❯ step src/surfaces/browser.ts:276:15
❯ cloud/admin-users-console.test.ts:129:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/connect-handoff.test.ts > Connect · the agentic handoff URL opens this deployment's add-account flow and the pasted key works:
e2e/scenarios/connect-handoff.test.ts#L222
TimeoutError: locator.waitFor: Timeout 15000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: /Add connection/ }) to be visible
❯ scenarios/connect-handoff.test.ts:222:69
❯ step src/surfaces/browser.ts:276:21
❯ scenarios/connect-handoff.test.ts:221:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 13of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/org-slug-routing.test.ts > Org URLs · console paths carry the organization slug:
e2e/scenarios/org-slug-routing.test.ts#L52
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ scenarios/org-slug-routing.test.ts:52:20
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/org-slug-routing.test.ts:50:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/connection-health-verdict.test.ts > Health checks (UI) · every surface showing a broken connection paints a verdict, and probes exactly once:
e2e/scenarios/connection-health-verdict.test.ts#L445
TimeoutError: page.waitForResponse: Timeout 30000ms exceeded while waiting for event "response"
❯ scenarios/connection-health-verdict.test.ts:445:32
❯ step src/surfaces/browser.ts:276:21
❯ scenarios/connection-health-verdict.test.ts:444:9
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 7of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/oauth-client-handoff.test.ts > OAuth client · agent hands off, the human enters the secret in the browser, and the app connects:
e2e/scenarios/oauth-client-handoff.test.ts#L410
TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Register OAuth app' }) to be visible
❯ scenarios/oauth-client-handoff.test.ts:410:16
❯ step src/surfaces/browser.ts:276:21
❯ scenarios/oauth-client-handoff.test.ts:407:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/integration-families.test.ts > Integrations · related MCP services collapse into their declared family:
e2e/scenarios/integration-families.test.ts#L52
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Integrations').first() to be visible
❯ scenarios/integration-families.test.ts:52:58
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/integration-families.test.ts:50:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/oauth-callback-org-scope.test.ts > OAuth callback · state-scoped org survives a callback while the session cookie points elsewhere:
e2e/cloud/oauth-callback-org-scope.test.ts#L65
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: /Org user-1d301eee/ }) to be visible
❯ expectOrgShell cloud/oauth-callback-org-scope.test.ts:65:80
❯ cloud/oauth-callback-org-scope.test.ts:217:9
❯ step src/surfaces/browser.ts:276:15
❯ cloud/oauth-callback-org-scope.test.ts:215:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/connection-modal-oauth-abandon.test.ts > Connections · closing the add-connection modal after abandoning OAuth lets you try again (not stuck on Connecting):
e2e/cloud/connection-modal-oauth-abandon.test.ts#L103
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Add connection', exact: true })
❯ cloud/connection-modal-oauth-abandon.test.ts:103:31
❯ step src/surfaces/browser.ts:276:15
❯ cloud/connection-modal-oauth-abandon.test.ts:101:9
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 11of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/first-party-oauth.test.ts > First-party OAuth · unlisted Google still authorizes its bundle and refuses admin scopes:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: /Connect/ }).first()
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/first-party-oauth.test.ts:187:17
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/first-party-oauth.test.ts:184:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/artifact-loading-surface.test.ts > Artifacts · opening an artifact shows one loading surface, not three:
e2e/scenarios/artifact-loading-surface.test.ts#L237
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Open artifact Loading Surface f095d763' }) to be visible
❯ scenarios/artifact-loading-surface.test.ts:237:14
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/artifact-loading-surface.test.ts:232:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-delete.test.ts > Organizations · an admin deletes the organization from settings:
e2e/cloud/org-delete.test.ts#L27
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('Northwind Labs')
❯ cloud/org-delete.test.ts:27:55
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-delete.test.ts:25:7
❯ src/surfaces/browser.ts:288: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#L45
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Sign in to manage your tools and integrations') to be visible
❯ cloud/auth-routing-flow.test.ts:45:79
❯ step src/surfaces/browser.ts:276:15
❯ cloud/auth-routing-flow.test.ts:43:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 5of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/mcp-cloudflare-codemode-warning.test.ts > MCP add flow · a Cloudflare URL without codemode=false gets the opt-out warning:
e2e/scenarios/mcp-cloudflare-codemode-warning.test.ts#L25
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://mcp.example.com') to be visible
❯ scenarios/mcp-cloudflare-codemode-warning.test.ts:25:47
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/mcp-cloudflare-codemode-warning.test.ts:23:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/connect-deep-link.test.ts > Connect · /connect/<slug> lands an end user in that integration's connect flow:
e2e/scenarios/connect-deep-link.test.ts#L102
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ scenarios/connect-deep-link.test.ts:102:24
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/connect-deep-link.test.ts:98:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/artifacts.test.ts > Artifacts · a tweak updates the artifact in place, and a tweak that cannot render is refused:
e2e/scenarios/artifacts.test.ts#L747
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-testid="artifact-shell-frame"]').contentFrame().locator('iframe').contentFrame().locator('[data-testid="artifact-marker"]').filter({ hasText: 'second-85a024ac' }) to be visible
❯ scenarios/artifacts.test.ts:747:14
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/artifacts.test.ts:741:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/artifacts.test.ts > Artifacts · renaming and deleting in the console is what the agent sees next:
e2e/scenarios/artifacts.test.ts#L601
TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Open artifact Draft Dashboard 88a82f67' }) to be visible
❯ scenarios/artifacts.test.ts:601:84
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/artifacts.test.ts:599:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/artifacts.test.ts > Artifacts · create-artifact hands a non-Apps client a deep link that renders the live component:
e2e/scenarios/artifacts.test.ts#L272
TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Release Readiness f38067b9' }) to be visible
❯ scenarios/artifacts.test.ts:272:60
❯ step src/surfaces/browser.ts:276:21
❯ scenarios/artifacts.test.ts:271:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/mcp-browser-resume-page.test.ts > MCP approval · browser resume page approves a paused execution through the UI:
e2e/cloud/mcp-browser-resume-page.test.ts#L227
TimeoutError: page.waitForResponse: Timeout 30000ms exceeded while waiting for event "response"
❯ cloud/mcp-browser-resume-page.test.ts:227:48
❯ step src/surfaces/browser.ts:276:21
❯ cloud/mcp-browser-resume-page.test.ts:222:11
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 12of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/google-photos-preset-ui.test.ts > Google Photos: separated catalog presets open a Photos service add flow:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Connect' })
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/google-photos-preset-ui.test.ts:22:17
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/google-photos-preset-ui.test.ts:17:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/docs-link.test.ts > Shell · the sidebar links to the docs from inside the app:
e2e/scenarios/docs-link.test.ts#L23
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Integrations').first() to be visible
❯ scenarios/docs-link.test.ts:23:54
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/docs-link.test.ts:21:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-multitab-cookie.test.ts > Org scope · plugin API requests carry the URL organization selector:
e2e/cloud/org-multitab-cookie.test.ts#L139
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://api.example.com/openapi.json') to be visible
❯ cloud/org-multitab-cookie.test.ts:139:77
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-multitab-cookie.test.ts:137:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-multitab-cookie.test.ts > Org tabs · two tabs on different orgs stay independent (URL-scoped, no cookie steal):
e2e/cloud/org-multitab-cookie.test.ts#L58
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('Northwind Labs')
❯ cloud/org-multitab-cookie.test.ts:58:55
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-multitab-cookie.test.ts:56:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/auth-hint.test.ts > Auth hint · logout clears the hint with the session:
e2e/cloud/auth-hint.test.ts#L80
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Policies' }) to be visible
❯ cloud/auth-hint.test.ts:80:60
❯ step src/surfaces/browser.ts:276:15
❯ cloud/auth-hint.test.ts:78:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/auth-hint.test.ts > Auth hint · the FIRST load on a fresh browser paints the real shell — the gate minted the hint:
e2e/cloud/auth-hint.test.ts#L40
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Policies' }) to be visible
❯ cloud/auth-hint.test.ts:40:60
❯ step src/surfaces/browser.ts:276:15
❯ cloud/auth-hint.test.ts:37:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 10of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/google-disabled-api.test.ts > Google · a disabled upstream API reads as API disabled with the enable link, not Expired:
e2e/scenarios/google-disabled-api.test.ts#L129
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: /Connect/ }).first()
❯ scenarios/google-disabled-api.test.ts:129:10
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/google-disabled-api.test.ts:124:5
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/connection-remove-confirm.test.ts > Connections (UI) · Remove asks for confirmation; cancel keeps, confirm removes:
e2e/scenarios/connection-remove-confirm.test.ts#L82
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('section').filter({ has: getByRole('heading', { name: 'Connections', level: 3 }) }).getByText('main', { exact: true }) to be visible
❯ scenarios/connection-remove-confirm.test.ts:82:23
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/connection-remove-confirm.test.ts:80:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-switcher.test.ts > Organizations · switching organizations switches the workspace:
e2e/cloud/org-switcher.test.ts#L25
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('Northwind Labs') to be visible
❯ cloud/org-switcher.test.ts:25:55
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-switcher.test.ts:23:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/frontend-error-reporting.test.ts > Frontend errors · a failed API request is reported with a real message:
e2e/cloud/frontend-error-reporting.test.ts#L76
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Connect' }).first() to be visible
❯ cloud/frontend-error-reporting.test.ts:76:69
❯ step src/surfaces/browser.ts:276:15
❯ cloud/frontend-error-reporting.test.ts:74:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 16of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/connect-handoff-session.test.ts > Connect · developer session: agent chat → handoff link → paste key → verified send:
e2e/scenarios/connect-handoff-session.test.ts#L155
TimeoutError: locator.waitFor: Timeout 15000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: /Add connection/ }) to be visible
❯ scenarios/connect-handoff-session.test.ts:155:20
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/connect-handoff-session.test.ts:151:15
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/artifact-preview-gallery.test.ts > Artifacts · the gallery shows each artifact's real layout, in light and dark:
e2e/scenarios/artifact-preview-gallery.test.ts#L172
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Artifacts', level: 1 }) to be visible
❯ scenarios/artifact-preview-gallery.test.ts:172:74
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/artifact-preview-gallery.test.ts:170:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-slug-foreign.test.ts > Org URLs · opening another of your orgs by slug works without switching the session:
e2e/cloud/org-slug-foreign.test.ts#L72
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Integrations').first() to be visible
❯ cloud/org-slug-foreign.test.ts:72:54
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-slug-foreign.test.ts:70:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-api-keys-console.test.ts > Admin · organization keys are minted in the console and authenticate the admin API:
e2e/cloud/org-api-keys-console.test.ts#L50
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ cloud/org-api-keys-console.test.ts:50:20
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-api-keys-console.test.ts:48:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/connect-panel.test.ts > Connect · the agent-connect panel gives working copy for both transports:
e2e/cloud/connect-panel.test.ts#L22
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Connect an agent').first() to be visible
❯ cloud/connect-panel.test.ts:22:58
❯ step src/surfaces/browser.ts:276:15
❯ cloud/connect-panel.test.ts:20:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 14of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/provider-plugins-ui.test.ts > Provider catalog · Google and Microsoft services are OpenAPI presets:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('navigation').getByRole('button', { name: 'Browse integrations', exact: true })
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/provider-plugins-ui.test.ts:19:15
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/provider-plugins-ui.test.ts:17:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/policy-remove-confirm.test.ts > Policies (UI) · Remove asks for confirmation; cancel keeps, confirm removes:
e2e/scenarios/policy-remove-confirm.test.ts#L46
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('[data-slot=\'card-stack-entry\']').filter({ hasText: 'rmconfirm-fd6fd0e9.*' }) to be visible
❯ scenarios/policy-remove-confirm.test.ts:46:23
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/policy-remove-confirm.test.ts:44:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/openapi-server-selection-ui.test.ts > OpenAPI · the add form offers a server picker and an optional base URL for a multi-server spec:
e2e/scenarios/openapi-server-selection-ui.test.ts#L40
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://api.example.com/openapi.json') to be visible
❯ scenarios/openapi-server-selection-ui.test.ts:40:79
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/openapi-server-selection-ui.test.ts:38:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/graphql-introspection-health.test.ts > GraphQL · a healthy account row keeps the connection's name:
e2e/scenarios/graphql-introspection-health.test.ts#L188
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('tab', { name: 'Accounts' })
❯ scenarios/graphql-introspection-health.test.ts:188:63
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/graphql-introspection-health.test.ts:186:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/graphql-introspection-health.test.ts > GraphQL · failed introspection blocks connection creation with an actionable error:
e2e/scenarios/graphql-introspection-health.test.ts#L84
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: /Add connection · GraphQL health/ }) to be visible
❯ scenarios/graphql-introspection-health.test.ts:84:90
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/graphql-introspection-health.test.ts:82:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/logout-stale-session.test.ts > Sign-out · a second open tab signs out too instead of showing raw JSON:
e2e/cloud/logout-stale-session.test.ts#L129
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Policies' }) to be visible
❯ cloud/logout-stale-session.test.ts:129:60
❯ step src/surfaces/browser.ts:276:15
❯ cloud/logout-stale-session.test.ts:127:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 6of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/integrations-catalog-search.test.ts > Connect dialog: integrations.sh catalog search resolves into a prefilled add flow:
e2e/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Connect' })
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/integrations-catalog-search.test.ts:58:15
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/integrations-catalog-search.test.ts:55:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/unauthenticated-skeleton.test.ts > Unauthenticated · unknown paths are a real 404 page, not a skeleton or a blank app:
e2e/cloud/unauthenticated-skeleton.test.ts#L172
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Page not found') to be visible
❯ cloud/unauthenticated-skeleton.test.ts:172:48
❯ step src/surfaces/browser.ts:276:15
❯ cloud/unauthenticated-skeleton.test.ts:170:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/unauthenticated-skeleton.test.ts > Unauthenticated · a signed-in session still opens the app shell (the gate lets it through):
e2e/cloud/unauthenticated-skeleton.test.ts#L137
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('aside').first() to be visible
❯ cloud/unauthenticated-skeleton.test.ts:137:45
❯ step src/surfaces/browser.ts:276:15
❯ cloud/unauthenticated-skeleton.test.ts:135:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/unauthenticated-skeleton.test.ts > Unauthenticated · the signed-out cloud root lands on /login with no app-shell flash:
e2e/cloud/unauthenticated-skeleton.test.ts#L36
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Sign in to manage your tools and integrations') to be visible
❯ cloud/unauthenticated-skeleton.test.ts:36:79
❯ step src/surfaces/browser.ts:276:15
❯ cloud/unauthenticated-skeleton.test.ts:34:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-limit.test.ts > Billing · the free plan stops organization creation after 3:
e2e/cloud/org-limit.test.ts#L28
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('Northwind Labs') to be visible
❯ cloud/org-limit.test.ts:28:55
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-limit.test.ts:26:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/org-last-visited.test.ts > Org URLs · a bare entry lands in the last-visited org, not the session's login org:
e2e/cloud/org-last-visited.test.ts#L69
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('Integrations').first() to be visible
❯ cloud/org-last-visited.test.ts:69:54
❯ step src/surfaces/browser.ts:276:15
❯ cloud/org-last-visited.test.ts:67:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/onboarding-mcp-url.test.ts > Onboarding · the MCP setup step hands the user their org-scoped MCP server URL:
e2e/cloud/onboarding-mcp-url.test.ts#L25
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('Northwind Labs') to be visible
❯ cloud/onboarding-mcp-url.test.ts:25:57
❯ step src/surfaces/browser.ts:276:15
❯ cloud/onboarding-mcp-url.test.ts:20:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/connect-link-multi-org.test.ts > Connect · an org-scoped connect link lands a multi-org recipient in the SENDING org:
e2e/cloud/connect-link-multi-org.test.ts#L142
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
navigated to "http://localhost:44550/org-user-c0d613ec/connect/multiorg-861140eb"
============================================================
❯ cloud/connect-link-multi-org.test.ts:142:24
❯ step src/surfaces/browser.ts:276:15
❯ cloud/connect-link-multi-org.test.ts:134:11
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/connect-card-origin.test.ts > Connect card · the rendered install command uses the real host, never the 127.0.0.1 default:
e2e/cloud/connect-card-origin.test.ts#L32
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText(/add-mcp\s+https?:\/\//).first() to be visible
❯ cloud/connect-card-origin.test.ts:32:23
❯ step src/surfaces/browser.ts:276:15
❯ cloud/connect-card-origin.test.ts:29:7
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 15of16)
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/src/surfaces/browser.ts#L149
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('tab', { name: 'Tools' })
❯ clickToReveal src/surfaces/browser.ts:149:19
❯ scenarios/policies-ui.test.ts:170:17
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/policies-ui.test.ts:164:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/openapi-add-integration-action-bar.test.ts > OpenAPI · Add integration commits the integration and the action bar is a single node:
e2e/scenarios/openapi-add-integration-action-bar.test.ts#L37
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://api.example.com/openapi.json') to be visible
❯ scenarios/openapi-add-integration-action-bar.test.ts:37:79
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/openapi-add-integration-action-bar.test.ts:35:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/oauth-callback-url.test.ts > OAuth · registering an app in the connect modal shows the callback URL to allow-list:
e2e/scenarios/oauth-callback-url.test.ts#L158
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Register app', exact: true })
❯ scenarios/oauth-callback-url.test.ts:158:79
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/oauth-callback-url.test.ts:156:7
❯ src/surfaces/browser.ts:288: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#L42
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:42:70
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/mcp-catalog-sync-ui.test.ts:38:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/mcp-add-url-typing-probe.test.ts > MCP add flow · a half-typed Server URL is not probed:
e2e/scenarios/mcp-add-url-typing-probe.test.ts#L25
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://mcp.example.com') to be visible
❯ scenarios/mcp-add-url-typing-probe.test.ts:25:47
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/mcp-add-url-typing-probe.test.ts:23:7
❯ src/surfaces/browser.ts:288: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#L45
TimeoutError: locator.waitFor: Timeout 90000ms exceeded.
Call log:
- waiting for getByText('How does this server authenticate?') to be visible
❯ scenarios/auth-methods-ui.test.ts:45:70
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/auth-methods-ui.test.ts:37:9
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] cloud/billing-trial-checkout-stale.test.ts > Billing · completing the trial checkout shows the new plan without a reload:
e2e/cloud/billing-trial-checkout-stale.test.ts#L56
TimeoutError: page.waitForURL: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for navigation until "load"
============================================================
❯ cloud/billing-trial-checkout-stale.test.ts:56:20
❯ step src/surfaces/browser.ts:276:15
❯ cloud/billing-trial-checkout-stale.test.ts:45:7
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · the integrations list auto-checks and shows an expired MCP server at a glance:
e2e/scenarios/health-checks-ui.test.ts#L1145
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: /hc-ui-list-e9dafbef/ }).and(locator('[data-slot="card-stack-entry"]')) to be visible
❯ scenarios/health-checks-ui.test.ts:1145:27
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:1137:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · the Add Connection modal wheel-scrolls when the response overflows:
e2e/scenarios/health-checks-ui.test.ts#L998
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Add connection', exact: true })
❯ scenarios/health-checks-ui.test.ts:998:87
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:992:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · the connections list shows a persisted expired verdict at a glance:
e2e/scenarios/health-checks-ui.test.ts#L895
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('section').filter({ has: getByRole('heading', { name: 'Connections', level: 3 }) }).getByLabel('Status: Expired') to be visible
❯ scenarios/health-checks-ui.test.ts:895:65
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:889:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · Add Connection derives the connection name from the probed identity:
e2e/scenarios/health-checks-ui.test.ts#L800
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Add connection', exact: true })
❯ scenarios/health-checks-ui.test.ts:800:87
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:798:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · edit sheet with identity: preview the response, then healthy then expired:
e2e/scenarios/health-checks-ui.test.ts#L710
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for locator('section').filter({ has: getByRole('heading', { name: 'Connections', level: 3 }) }).getByText('main', { exact: true }) to be visible
❯ scenarios/health-checks-ui.test.ts:710:68
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:708:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · the combobox list scrolls inside the edit sheet:
e2e/scenarios/health-checks-ui.test.ts#L634
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Health check', level: 3 }) to be visible
❯ scenarios/health-checks-ui.test.ts:634:83
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:632:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · clicking a combobox option in the sheet selects it without closing the sheet:
e2e/scenarios/health-checks-ui.test.ts#L563
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Health check', level: 3 }) to be visible
❯ scenarios/health-checks-ui.test.ts:563:83
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:561:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · add screen large spec: typing reaches an operation beyond the preview's top slice:
e2e/scenarios/health-checks-ui.test.ts#L484
TimeoutError: locator.fill: Timeout 30000ms exceeded.
Call log:
- waiting for getByPlaceholder('https://api.example.com/openapi.json')
❯ scenarios/health-checks-ui.test.ts:484:83
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:482:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · large spec: typing filters the operation picker down to the match:
e2e/scenarios/health-checks-ui.test.ts#L400
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('heading', { name: 'Health check', level: 3 }) to be visible
❯ scenarios/health-checks-ui.test.ts:400:83
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:398:13
❯ src/surfaces/browser.ts:288:13
|
|
[cloud] scenarios/health-checks-ui.test.ts > Health checks (UI) · the request panel: pre-seeded call, one Check, response rows pick the identity:
e2e/scenarios/health-checks-ui.test.ts#L286
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Add connection', exact: true })
❯ scenarios/health-checks-ui.test.ts:286:87
❯ step src/surfaces/browser.ts:276:15
❯ scenarios/health-checks-ui.test.ts:284:13
❯ src/surfaces/browser.ts:288:13
|
|
Changed paths
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, dorny/paths-filter@v3. 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/cache@v4, actions/checkout@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/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 6of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 2of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 7of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 8of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
|
|
Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 (selfhost 10of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 9of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
|
|
Typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
|
|
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
E2E (selfhost 5of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 3of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
|
|
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. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Self-host Docker image
Skipping sticky disk commit due to previous step failures
|
|
Self-host Docker image
- Step: unknown (failed)
|
|
Self-host Docker image
Found 2 failed/cancelled steps in previous workflow steps
|
|
Cloud evaluated closure
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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/
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
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/cache@v4, 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/
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
E2E (selfhost 1of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 (local 2of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 (selfhost 4of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 3of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 2of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 4of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 (local 1of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 9of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 8of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 13of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 7of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 11of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 5of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 12of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 10of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 16of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 14of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 6of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 15of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 1of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, 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 | |
|---|---|---|---|
|
e2e-runs-cloud-10of16
Expired
|
956 KB |
sha256:0f2875effda9eb92b6b38ed6467b0e06c17cdda9f82c70b6fac624536cbc4208
|
|
|
e2e-runs-cloud-11of16
Expired
|
824 KB |
sha256:6a960e9aebe1b88e8b4448e88b419e27a473e6014b656135bd94976707b31043
|
|
|
e2e-runs-cloud-12of16
Expired
|
1.21 MB |
sha256:d667ea7f854d785e9a3707ea1776e8ef1df736ddc20daec7822120f71fc90d55
|
|
|
e2e-runs-cloud-13of16
Expired
|
521 KB |
sha256:f4a5793fc2a67b88cb361ad4d56003481cbb69cc3d5eb5be1e9a22eba2d18d5e
|
|
|
e2e-runs-cloud-14of16
Expired
|
1.41 MB |
sha256:3c6bba1882658dbf9f36ca8de74a1affa04c8e9c1e5f0035ccdde4dcea8f72ac
|
|
|
e2e-runs-cloud-15of16
Expired
|
1.72 MB |
sha256:e5fb742b0eba06cf7f7132eeb474cff6707d17c3919719857060566a3e3377c1
|
|
|
e2e-runs-cloud-16of16
Expired
|
1.1 MB |
sha256:a71b32d19a4e7eafe2acb744c11b77315ef66ced30f17884169b797b5ec994b9
|
|
|
e2e-runs-cloud-1of16
Expired
|
2.37 MB |
sha256:ec5b1acab9e3df2550eeaa69bdf7a18a1d36d777796247b9af5e9a7de642fa4b
|
|
|
e2e-runs-cloud-4of16
Expired
|
482 KB |
sha256:04adbb4f42bf4635a238c966b186c1469b7b720490a23c6a8d109ba6fc391ebf
|
|
|
e2e-runs-cloud-5of16
Expired
|
1.48 MB |
sha256:0fad536cf974ba308fdd0f0f5abd80d37a2181fda11433bb2f4afe4b4929d2ad
|
|
|
e2e-runs-cloud-6of16
Expired
|
1.76 MB |
sha256:bd31941aa8d2af8d196199c9affafb5d6534813fae215da7dd1e7e043ef2d6cb
|
|
|
e2e-runs-cloud-7of16
Expired
|
994 KB |
sha256:be97b9ed1f25aeb8209b7973140063b06f1372b7cd79bb85d517627b957ed49a
|
|
|
e2e-runs-cloud-8of16
Expired
|
891 KB |
sha256:9a5642f710771c4123dd0d91b14863c2bf58d6098ce5fe23a12aabe5a2afeaca
|
|
|
e2e-runs-cloud-9of16
Expired
|
528 KB |
sha256:fed752f71faed57c412393113e4bf6706bf46df4c479398e9b3bf668c6e1e98c
|
|
|
e2e-runs-selfhost-10of10
Expired
|
42.4 KB |
sha256:67bd30aa895f4ed783e7f50548329b974498291d4c9401daf0d7130dced66986
|
|
|
e2e-runs-selfhost-1of10
Expired
|
7.8 KB |
sha256:9e6367cb7e700f8a5869d4b01dd1ec2c130dca4618fc9bc0e644f84738ded244
|
|
|
e2e-runs-selfhost-2of10
Expired
|
60.5 KB |
sha256:f001d00e5e83fafb961ad8046efd4807349fe4ea75dbd608efde7d3bc5afd156
|
|
|
e2e-runs-selfhost-3of10
Expired
|
53.8 KB |
sha256:d7def9b64b9fb7a532b48ec594216bc5eeb4714ab8ebce69fa1db375786971c9
|
|
|
e2e-runs-selfhost-4of10
Expired
|
61.4 KB |
sha256:8b3f6b7d6fee17053097c532d9e41e4cc5ea548c22e4a9fa6c1cfc3d4af8c729
|
|
|
e2e-runs-selfhost-5of10
Expired
|
47 KB |
sha256:08747613c62fd2fde18bd72440783ccdefce307febfd7496dbb5f19793f68a8b
|
|
|
e2e-runs-selfhost-6of10
Expired
|
50.3 KB |
sha256:6b852f31e3ed1916258b5d354147840e4e6fde7af5d5128abbeb2af0bedbaf3f
|
|
|
e2e-runs-selfhost-7of10
Expired
|
64.5 KB |
sha256:66a023b8114afb8b909c17a50d8de5e339747eb39b417fe204bae9d782d78ae2
|
|
|
e2e-runs-selfhost-8of10
Expired
|
55.8 KB |
sha256:dd69ca9ea8231f2859b92b1e1c8acf2c15d3917a5c92140c8893b5e1d0ea7127
|
|
|
e2e-runs-selfhost-9of10
Expired
|
82.9 KB |
sha256:339966a6d0cd8809d03b20c6b13ff991acce9cac8858fd3dab2f307cad1a56df
|
|