feat(mothership): v1.0.0 #32752
Triggered via pull request
September 23, 2026 19:03
Status
Failure
Total duration
8m 31s
Artifacts
–
ci.yml
on: pull_request
Detect Version
0s
Detect Desktop Changes
0s
Prepare Trigger.dev
0s
Matrix: Build AMD64
Matrix: Build Dev ECR
Matrix: Build ARM64 (GHCR Only)
Matrix: Test and Build / oauth-postgres
Matrix: Test and Build / test-shard
Test and Build
/
Lint and Test
7m 4s
Test and Build
/
Build App
5m 11s
Check Docs Changes
0s
Migrate Dev DB
/
Apply Database Migrations
Matrix: Create GHCR Manifests
Process Docs
/
Process Documentation Embeddings
Promote Trigger.dev
Prune Desktop Prereleases
0s
Matrix: Attest Images
Desktop Release
/
Build, Sign, Notarize
Annotations
16 errors and 21 warnings
|
Test and Build / Test (shard 3)
Process completed with exit code 1.
|
|
lib/api/server/routes/copilot-route-inventory.test.ts > inventories private operation admission without executing route requests:
apps/sim/lib/api/server/routes/copilot-route-inventory.test.ts#L43
AssertionError: expected [ { method: 'GET', …(3) }, …(48) ] to deeply equal [ { method: 'GET', …(3) }, …(7) ]
- Expected
+ Received
@@ -42,9 +42,255 @@
"path": "/api/v2/meta",
},
{
"audience": null,
"method": "GET",
+ "operation": "organizations.list",
+ "path": "/api/v2/organizations",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organizations.read",
+ "path": "/api/v2/organizations/[organizationId]",
+ },
+ {
+ "audience": null,
+ "method": "POST",
+ "operation": "access_requests.create",
+ "path": "/api/v2/organizations/[organizationId]/access-requests",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "access_requests.list_organization",
+ "path": "/api/v2/organizations/[organizationId]/access-requests",
+ },
+ {
+ "audience": null,
+ "method": "POST",
+ "operation": "access_requests.cancel",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/[requestId]/cancel",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "access_requests.preview",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/[requestId]/preview",
+ },
+ {
+ "audience": null,
+ "method": "POST",
+ "operation": "access_requests.resolve",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/[requestId]/resolve",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "access_requests.discover",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/discovery",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "access_requests.list_mine",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/mine",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "access_requests.get_settings",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/settings",
+ },
+ {
+ "audience": null,
+ "method": "PATCH",
+ "operation": "access_requests.update_settings",
+ "path": "/api/v2/organizations/[organizationId]/access-requests/settings",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organizations.invitations.list",
+ "path": "/api/v2/organizations/[organizationId]/invitations",
+ },
+ {
+ "audience": null,
+ "method": "POST",
+ "operation": "organizations.invitations.create",
+ "path": "/api/v2/organizations/[organizationId]/invitations",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organizations.invitations.read",
+ "path": "/api/v2/organizations/[organizationId]/invitations/[invitationId]",
+ },
+ {
+ "audience": null,
+ "method": "DELETE",
+ "operation": "invitations.revoke",
+ "path": "/api/v2/organizations/[organizationId]/invitations/[invitationId]",
+ },
+ {
+ "audience": null,
+ "method": "POST",
+ "operation": "invitations.resend",
+ "path": "/api/v2/organizations/[organizationId]/invitations/[invitationId]/resend",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organizations.invitations.workspaces.list",
+ "path": "/api/v2/organizations/[organizationId]/invitations/[invitationId]/workspaces",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organizations.members.list",
+ "path": "/api/v2/organizations/[organizationId]/members",
+ },
+ {
+ "audience": null,
+ "method": "PATCH",
+ "operation": "organizations.members.update",
+ "path": "/api/v2/organizations/[organizationId]/members/[userId]",
+ },
+ {
+ "audience": null,
+ "method": "DELETE",
+ "operation": "organizations.members.remove",
+ "path": "/api/v2/organizations/[organizationId]/members/[userId]",
+ },
+ {
+ "audience": null,
+ "method": "GET",
+ "operation": "organization_member_usage_limits.read",
+ "path": "/api/v2/organizations/[organizationId]/member
|
|
lib/mothership/resources/types.test.ts > client and server agree on what can be persisted > the API accepts a sources resource:
apps/sim/lib/mothership/resources/types.test.ts#L96
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ lib/mothership/resources/types.test.ts:96:28
|
|
Test and Build / Test (shard 3)
@sim/app#test: command (/home/runner/_work/sim/sim/apps/sim) /home/runner/.bun/bin/bun run test exited (1)
|
|
Test and Build / Test (shard 2)
Process completed with exit code 1.
|
|
app/api/knowledge/sim-search/sources/route.test.ts > GET Search sources > passes the authenticated subject into the registered operation and projects only the contract fields:
apps/sim/app/api/knowledge/sim-search/sources/route.test.ts#L144
AssertionError: expected { …(17) } to deeply equal { …(16) }
- Expected
+ Received
@@ -5,10 +5,11 @@
"connectorId": "source",
"connectorType": "google_drive",
"enabled": true,
"hasSyncError": false,
"hasViewerDocuments": false,
+ "isGitHubInstallation": false,
"isSyncing": false,
"knowledgeBaseId": "search-index",
"lastSyncAt": null,
"sourceDescription": "Handbook",
"viewerAccounts": [],
❯ app/api/knowledge/sim-search/sources/route.test.ts:144:34
|
|
lib/knowledge/application/chat.test.ts > organization Search Assistant chat > uses Search consent and the real organization Assistant through the headless lifecycle:
apps/sim/lib/knowledge/application/chat.test.ts#L128
AssertionError: expected { …(9) } to deeply equal { …(10) }
- Expected
+ Received
@@ -11,13 +11,10 @@
{
"content": "{\"connections\":[],\"available\":[]}",
"type": "search_integrations",
},
],
- "integrationCatalog": {
- "mcpServerIds": [],
- },
"message": "Where is the field kit?",
"messageId": "08b4e8cf-69ca-4f4b-804e-043bc8c35307",
"mode": "assistant",
"organizationId": "org-1",
"userId": "member-1",
❯ lib/knowledge/application/chat.test.ts:128:21
|
|
connectors/google-calendar/company-crawl.test.ts > Google Calendar company crawl > declares independent read-only Directory and delegated Calendar scopes:
apps/sim/connectors/google-calendar/company-crawl.test.ts#L73
AssertionError: expected { mode: 'oauth', …(7) } to match object { …(5) }
(3 matching properties omitted from actual)
- Expected
+ Received
@@ -6,8 +6,9 @@
"requiredScopes": [
"https://www.googleapis.com/auth/calendar",
],
"serviceAccountDelegationScopes": [
"https://www.googleapis.com/auth/calendar.events.readonly",
+ "https://www.googleapis.com/auth/calendar.readonly",
],
"serviceAccountSubjectFieldId": "adminEmail",
}
❯ connectors/google-calendar/company-crawl.test.ts:73:46
|
|
Test and Build / Test (shard 2)
@sim/app#test: command (/home/runner/_work/sim/sim/apps/sim) /home/runner/.bun/bin/bun run test exited (1)
|
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx > connector settings service-account choices > keeps general knowledge-base and workspace settings on their original path: {"isSearchIndex":false}:
apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx#L340
AssertionError: expected "vi.fn()" to be called with arguments: [ ObjectContaining{…} ]
Received:
1st vi.fn() call:
@@ -1,7 +1,10 @@
[
- ObjectContaining {
+ {
+ "accessMode": "members",
+ "canonicalGroups": Map {},
+ "canonicalModes": {},
"connectorConfig": {
"auth": {
"apiKey": {
"label": "Personal Access Token",
"placeholder": "github_pat_…",
@@ -10,14 +13,15 @@
"provider": "github-repositories",
},
"configFields": [
{
"id": "repository",
- "placeholder": "owner/repo",
+ "placeholder": "Select a repository",
"required": true,
+ "selectorKey": "github.installationRepositories",
"title": "Repository",
- "type": "short-input",
+ "type": "selector",
},
{
"description": "Leave blank for the repository’s default branch in member connections, or main in workspace connections.",
"id": "branch",
"placeholder": "e.g. main",
@@ -84,8 +88,22 @@
"fieldType": "number",
"id": "size",
},
],
"version": "1.0.0",
+ },
+ "credentialId": null,
+ "credentialType": undefined,
+ "disabled": false,
+ "isFieldVisible": [Function isFieldVisible],
+ "onFieldChange": [Function Mock],
+ "onToggleCanonicalMode": [Function Mock],
+ "scope": {
+ "kind": "organization",
+ "organizationId": "org-1",
+ },
+ "selectionLabels": {},
+ "sourceConfig": {
+ "repository": "acme/platform",
},
},
]
Number of calls: 1
❯ app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx:340:34
|
|
app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx > connector settings service-account choices > shows the GitHub connection and preserves the repository rename field for installation sources:
apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx#L243
AssertionError: expected "vi.fn()" to be called with arguments: [ ObjectContaining{…} ]
Received:
1st vi.fn() call:
@@ -1,7 +1,10 @@
[
- ObjectContaining {
+ {
+ "accessMode": "members",
+ "canonicalGroups": Map {},
+ "canonicalModes": {},
"connectorConfig": {
"auth": {
"apiKey": {
"label": "Personal Access Token",
"placeholder": "github_pat_…",
@@ -10,14 +13,15 @@
"provider": "github-repositories",
},
"configFields": [
{
"id": "repository",
- "placeholder": "owner/repo",
+ "placeholder": "Select a repository",
"required": true,
+ "selectorKey": "github.installationRepositories",
"title": "Repository",
- "type": "short-input",
+ "type": "selector",
},
{
"description": "Leave blank for the repository’s default branch in member connections, or main in workspace connections.",
"id": "branch",
"placeholder": "e.g. main",
@@ -85,10 +89,21 @@
"id": "size",
},
],
"version": "1.0.0",
},
+ "credentialId": "installation-1",
+ "credentialType": "service_account",
+ "disabled": false,
+ "isFieldVisible": [Function isFieldVisible],
+ "onFieldChange": [Function Mock],
+ "onToggleCanonicalMode": [Function Mock],
+ "scope": {
+ "kind": "organization",
+ "organizationId": "org-1",
+ },
+ "selectionLabels": {},
"sourceConfig": {
"repository": "acme/platform",
},
},
]
Number of calls: 1
❯ app/workspace/[workspaceId]/knowledge/[id]/components/edit-connector-modal/connector-settings-fields.test.tsx:243:32
|
|
lib/knowledge/connectors/access-token.test.ts > 'Google Calendar' declared company authentication > propagates service-account revocation without using an OAuth or Directory token fallback:
apps/sim/lib/knowledge/connectors/access-token.test.ts#L552
AssertionError: expected "vi.fn()" to be called once with arguments: [ 'google-service', …(2) ]
Received:
1st vi.fn() call:
[
"google-service",
[
"https://www.googleapis.com/auth/calendar.events.readonly",
+ "https://www.googleapis.com/auth/calendar.readonly",
],
"employee@example.com",
]
Number of calls: 1
❯ lib/knowledge/connectors/access-token.test.ts:552:40
|
|
lib/knowledge/connectors/access-token.test.ts > 'Google Calendar' declared company authentication > mints Directory and per-user tokens from actual connector metadata with separate fixed scope sets:
apps/sim/lib/knowledge/connectors/access-token.test.ts#L504
AssertionError: expected "vi.fn()" to be called once with arguments: [ 'google-service', …(2) ]
Received:
1st vi.fn() call:
[
"google-service",
[
"https://www.googleapis.com/auth/calendar.events.readonly",
+ "https://www.googleapis.com/auth/calendar.readonly",
],
"employee@example.com",
]
Number of calls: 1
❯ lib/knowledge/connectors/access-token.test.ts:504:40
|
|
Test and Build / Lint and Test
@sim/app#test: command (/home/runner/_work/sim/sim/apps/sim) /home/runner/.bun/bin/bun run test exited (1)
|
|
Test and Build / Lint and Test
Process completed with exit code 1.
|
|
Test and Build / Test (shard 3)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 3)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Test (shard 3)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 3)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Test (shard 3)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 3)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Test (shard 2)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 2)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Test (shard 2)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 2)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Test (shard 2)
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Test (shard 2)
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
- Step: unknown (failed)
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
- Step: unknown (failed)
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|
|
Test and Build / Lint and Test
Skipping sticky disk commit due to previous step failures
|
|
Test and Build / Lint and Test
- Step: unknown (failed)
|
|
Test and Build / Lint and Test
Found 2 failed/cancelled steps in previous workflow steps
|