Skip to content

chore: upstream reconcile through reference 99eaa993b #1360

chore: upstream reconcile through reference 99eaa993b

chore: upstream reconcile through reference 99eaa993b #1360

Triggered via pull request September 19, 2026 17:10
Status Failure
Total duration 8m 30s
Artifacts –

ci.yml

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

Annotations

52 errors, 10 warnings, and 11 notices
lint
Process completed with exit code 1.
[agent-gateway] test/modelCatalogProviderWrite.test.ts > server-v2 /api/v1 provider write endpoints > keeps an existing global default_model on create: packages/agent-gateway/test/modelCatalogProviderWrite.test.ts#L319
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogProviderWrite.test.ts:319:20
[agent-gateway] test/modelCatalogProviderWrite.test.ts > server-v2 /api/v1 provider write endpoints > seeds the first model when the create body names no provider default: packages/agent-gateway/test/modelCatalogProviderWrite.test.ts#L310
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogProviderWrite.test.ts:310:20
[agent-gateway] test/modelCatalogProviderWrite.test.ts > server-v2 /api/v1 provider write endpoints > seeds the global default_model on a fresh setup (the provider default wins): packages/agent-gateway/test/modelCatalogProviderWrite.test.ts#L288
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogProviderWrite.test.ts:288:20
[agent-gateway] test/modelCatalogProviderWrite.test.ts > server-v2 /api/v1 provider write endpoints > creates a credential-less provider (env-resolved types may omit api_key): packages/agent-gateway/test/modelCatalogProviderWrite.test.ts#L273
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogProviderWrite.test.ts:273:20
[agent-gateway] test/modelCatalogProviderWrite.test.ts > server-v2 /api/v1 provider write endpoints > creates a provider with model aliases and persists them to config.toml: packages/agent-gateway/test/modelCatalogProviderWrite.test.ts#L208
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogProviderWrite.test.ts:208:20
[agent-gateway] test/codex-login.test.ts > Codex login routes > maps invalid input and unknown login ids to stable wire codes: packages/agent-gateway/test/codex-login.test.ts#L129
AssertionError: expected { …(3) } to match object { code: 40001 } (3 matching properties omitted from actual) - Expected + Received { - "code": 40001, + "error": "Not Found", + "message": "Route POST:/api/v1/auth/codex/login-1:submit_code not found", + "statusCode": 404, } ❯ test/codex-login.test.ts:129:28
[agent-gateway] test/codex-login.test.ts > Codex login routes > matches the web start, poll, submit, and cancel contract: packages/agent-gateway/test/codex-login.test.ts#L86
AssertionError: expected { …(3) } to match object { code: +0, data: { …(2) } } (3 matching properties omitted from actual) - Expected + Received { - "code": 0, - "data": { - "login_id": "login-1", - "loopback": true, - }, + "error": "Not Found", + "message": "Route POST:/api/v1/auth/codex:start not found", + "statusCode": 404, } ❯ test/codex-login.test.ts:86:26
[agent-gateway] test/boot.test.ts > server-v2 boot > seeds default Pythinker identity headers from hostIdentity that opts.seeds can override: packages/agent-gateway/test/boot.test.ts#L136
AssertionError: expected undefined to be '0.0.0-test' // Object.is equality - Expected: "0.0.0-test" + Received: undefined ❯ test/boot.test.ts:136:47
[agent-gateway] test/boot.test.ts > server-v2 boot > boots agent-core-v2 and serves the basic /api/v1 routes: packages/agent-gateway/test/boot.test.ts#L84
AssertionError: expected 404 to be 200 // Object.is equality - Expected + Received - 200 + 404 ❯ test/boot.test.ts:84:30
[pythinker-sdk] test/sdk-rpc-client-v2.test.ts > SDKRpcClientV2 (agent-core-v2 wiring) > seeds the host request headers (User-Agent + X-Msh-*) into the engine: packages/node-sdk/test/sdk-rpc-client-v2.test.ts#L355
AssertionError: expected undefined to be 'pythinker_code_cli' // Object.is equality - Expected: "pythinker_code_cli" + Received: undefined ❯ test/sdk-rpc-client-v2.test.ts:355:41
[cli] test/tui/create-tui-state.test.ts > createTUIState > uses the docked fullscreen renderer by default: apps/pythinker-code/test/tui/create-tui-state.test.ts#L109
AssertionError: expected TuiMainScreen{ children: [], …(33) } to be an instance of TuiAltScreen ❯ test/tui/create-tui-state.test.ts:109:24
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > caps the number of session subscriptions per connection: packages/agent-gateway/test/wsConnectionV1.test.ts#L893
AssertionError: expected [ 's0', 's1', 's10', 's11', …(61) ] to have a length of 64 but got 65 - Expected + Received - 64 + 65 ❯ test/wsConnectionV1.test.ts:893:41
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > skips queued controls once the connection is closed: packages/agent-gateway/test/wsConnectionV1.test.ts#L881
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times Received: 1st vi.fn() call: Array [ "s1", WsConnectionV1 { "backpressureRetryTimer": undefined, "backpressureSince": undefined, "broadcaster": Object { "addGlobalTarget": [Function addGlobalTarget], "getBufferedSince": [Function getBufferedSince], "getCursor": [Function getCursor], "removeGlobalTarget": [Function removeGlobalTarget], "subscribe": [Function Mock], "unsubscribe": [Function unsubscribe], }, "clientId": "", "closed": true, "connectedAt": "2026-09-19T17:14:56.718Z", "controlQueue": Promise {}, "flushIntervalMs": 16, "flushTimer": undefined, "gotClientHello": false, "heartbeatIntervalMs": 10000, "heartbeatTimer": Object { "hasRef": [Function hasRef], "ref": [Function ref], "refed": false, "refresh": [Function refresh], "unref": [Function unref], Symbol(Symbol.toPrimitive): [Function [Symbol.toPrimitive]], }, "highWaterMarkBytes": 1048576, "id": "conn_01M2XAKYAE4K1H4RFV0TX7TT7K", "lastInboundAt": 1789838096718, "logger": undefined, "maxBatchSize": 64, "maxBufferSize": 1000, "outbound": Array [], "remoteAddress": null, "socket": FakeSocket { "CLOSED": 3, "OPEN": 1, "bufferedAmount": 0, "closeCalls": Array [], "handlers": Map { "message" => Array [ [Function anonymous], ], "close" => Array [ [Function anonymous], ], "error" => Array [ [Function anonymous], ], }, "readyState": 1, "sent": Array [ "{"type":"server_hello","timestamp":"2026-09-19T17:14:56.718Z","payload":{"ws_connection_id":"conn_01M2XAKYAE4K1H4RFV0TX7TT7K","protocol_version":2,"heartbeat_ms":10000,"max_event_buffer_size":1000,"capabilities":{"event_batching":false,"compression":false}}}", ], }, "subscriptions": Map { "s1" => Object { "agentFilter": undefined, "transcriptGrades": undefined, }, }, "userAgent": null, "validateCredential": undefined, }, undefined, undefined, Object { "deferTranscriptReset": false, "transcriptSince": undefined, }, ] Number of calls: 1 ❯ test/wsConnectionV1.test.ts:881:27
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > releases a subscription that completes after the connection closed: packages/agent-gateway/test/wsConnectionV1.test.ts#L865
AssertionError: expected "vi.fn()" to be called with arguments: [ 's1', WsConnectionV1{ …(24) } ] Number of calls: 0 ❯ test/wsConnectionV1.test.ts:865:25
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > disconnects a client that floods control frames faster than they drain: packages/agent-gateway/test/wsConnectionV1.test.ts#L836
AssertionError: expected +0 to be 32 // Object.is equality - Expected + Received - 32 + 0 ❯ test/wsConnectionV1.test.ts:836:38
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > disconnects when the outbound queue exceeds the advertised buffer size: packages/agent-gateway/test/wsConnectionV1.test.ts#L817
AssertionError: expected [] to deeply equal [ { code: 1013, …(1) } ] - Expected + Received - [ - { - "code": 1013, - "reason": "outbound buffer overflow", - }, - ] + [] ❯ test/wsConnectionV1.test.ts:817:31
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 outbound buffer > disconnects a consumer whose socket buffer stays past the hard byte bound: packages/agent-gateway/test/wsConnectionV1.test.ts#L798
AssertionError: expected [ Array(1) ] to deeply equal [] - Expected + Received - [] + [ + "{\"type\":\"assistant.delta\",\"seq\":1,\"volatile\":true,\"offset\":0,\"session_id\":\"s1\",\"timestamp\":\"2026-01-01T00:00:00.000Z\",\"payload\":{\"type\":\"assistant.delta\",\"agentId\":\"main\",\"sessionId\":\"s1\",\"turnId\":1,\"delta\":\"Hello\"}}", + ] ❯ test/wsConnectionV1.test.ts:798:25
[agent-gateway] test/wsConnectionV1.test.ts > WsConnectionV1 Expert Talk ownership > stores the client identity and releases its arm on full unsubscribe: packages/agent-gateway/test/wsConnectionV1.test.ts#L231
AssertionError: expected '' to be 'client-a' // Object.is equality - Expected + Received - client-a ❯ test/wsConnectionV1.test.ts:231:27
[agent-gateway] test/modelCatalog.test.ts > server-v2 /api/v1 model/provider catalog > lists providers and returns a single provider by id: packages/agent-gateway/test/modelCatalog.test.ts#L197
AssertionError: expected [ { id: 'pythinker', …(6) }, …(1) ] to deeply equal [ { id: 'pythinker', …(6) }, …(1) ] - Expected + Received @@ -7,11 +7,11 @@ "models": [ "k2", "turbo", ], "status": "connected", - "type": "pythinker", + "type": "openai", }, { "has_api_key": false, "id": "openai", "models": [ ❯ test/modelCatalog.test.ts:197:34
[agent-gateway] test/search/searchService.test.ts > GlobalSearchService > reports indexState building before the first full sync and ready after: packages/agent-gateway/test/search/searchService.test.ts#L446
AssertionError: expected 1 to be 2 // Object.is equality - Expected + Received - 2 + 1 ❯ test/search/searchService.test.ts:446:40
[agent-gateway] test/search/searchService.test.ts > GlobalSearchService > paginates with an opaque cursor and rejects changed conditions: packages/agent-gateway/test/search/searchService.test.ts#L416
AssertionError: promise resolved "{ items: [ { …(10) } ], …(5) }" instead of rejecting - Expected + Received - Error { - "message": "rejected promise", + { + "hasMore": false, + "incomplete": undefined, + "indexState": { + "degraded": undefined, + "documents": 3, + "indexedSessions": 1, + "stale": true, + "state": "ready", + "totalSessions": 1, + }, + "items": [ + { + "agentId": "main", + "role": "user", + "score": 0.5493061443340548, + "sessionId": "s1", + "sessionTitle": "", + "snippet": "zh three", + "stepId": undefined, + "time": 1700000200000, + "turn": 2, + "workspaceId": "ws_test", + }, + ], + "pageToken": undefined, + "source": "index", } ❯ test/search/searchService.test.ts:416:5
[agent-gateway] test/search/searchService.test.ts > GlobalSearchService > indexes user and assistant text and finds Chinese and English terms: packages/agent-gateway/test/search/searchService.test.ts#L300
AssertionError: expected '' to be 'zh' // Object.is equality - Expected + Received - zh ❯ test/search/searchService.test.ts:300:32
[agent-gateway] test/capabilities.test.ts > server-v2 /api/v1 capabilities > rejects pythinker-cu install on unsupported platforms with 40925: packages/agent-gateway/test/capabilities.test.ts#L82
AssertionError: expected 40418 to be 40925 // Object.is equality - Expected + Received - 40925 + 40418 ❯ test/capabilities.test.ts:82:25
[agent-gateway] test/capabilities.test.ts > server-v2 /api/v1 capabilities > gets a single capability and 40418s on an unknown id: packages/agent-gateway/test/capabilities.test.ts#L58
AssertionError: expected 40418 to be +0 // Object.is equality - Expected + Received - 0 + 40418 ❯ test/capabilities.test.ts:58:23
[agent-gateway] test/capabilities.test.ts > server-v2 /api/v1 capabilities > lists both built-in capabilities with the documented shape: packages/agent-gateway/test/capabilities.test.ts#L38
AssertionError: expected [] to deeply equal [ 'pythinker-cu', …(1) ] - Expected + Received - [ - "pythinker-cu", - "pythinker-webbridge", - ] + [] ❯ test/capabilities.test.ts:38:17
[agent-gateway] test/apiSurface.snapshot.test.ts > API surface snapshot > matches the documented v2 route table and meta endpoints: packages/agent-gateway/test/apiSurface.snapshot.test.ts#L82
Error: Snapshot `API surface snapshot > matches the documented v2 route table and meta endpoints 1` mismatched - Expected + Received @@ -21,14 +21,10 @@ "DELETE", "/api/v1/files/{file_id}", ], [ "DELETE", - "/api/v1/auth/login", - ], - [ - "DELETE", "/api/v1/providers/{provider_id}", ], [ "DELETE", "/api/v1/workspaces/{workspace_id}", @@ -137,26 +133,10 @@ "GET", "/api/v1/models", ], [ "GET", - "/api/v1/auth/login", - ], - [ - "GET", - "/api/v1/oauth/region", - ], - [ - "GET", - "/api/v1/auth/status", - ], - [ - "GET", - "/api/v1/auth/status", - ], - [ - "GET", "/api/v1/plugins", ], [ "GET", "/api/v1/plugins/marketplace", @@ -377,18 +357,10 @@ "POST", "/api/v1/models/{tail}", ], [ "POST", - "/api/v1/auth/login", - ], - [ - "POST", - "/api/v1/auth/logout", - ], - [ - "POST", "/api/v1/plugins", ], [ "POST", "/api/v1/plugins/{tail}", ❯ test/apiSurface.snapshot.test.ts:82:30
[pyaos] test/local.test.ts > LocalPyaos > readText errors parameter (Python compat) > drops invalid bytes with errors="ignore": packages/pyaos/test/local.test.ts#L375
AssertionError: expected '中文' to be 'zh' // Object.is equality Expected: "zh" Received: "中文" ❯ test/local.test.ts:375:23
[pyaos] test/local.test.ts > LocalPyaos > readText errors parameter (Python compat) > returns U+FFFD replacement characters with errors="replace": packages/pyaos/test/local.test.ts#L366
AssertionError: expected '中\ufffd文' to contain 'zh' Expected: "zh" Received: "中�文" ❯ test/local.test.ts:366:23
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > never touches the global default pointers on registry import: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L603
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:603:20
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > replaces an explicit OAuth credential during catalog import: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L482
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:482:20
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > honors the id override for the local provider id: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L429
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:429:20
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > adopts a usable global default_model on a fresh setup: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L356
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:356:20
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > never touches the global default pointers on import: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L344
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:344:20
[agent-gateway] test/modelCatalogCatalog.test.ts > server-v2 /api/v1 catalog browse + import endpoints > imports a catalog entry as a provider with all model aliases: packages/agent-gateway/test/modelCatalogCatalog.test.ts#L308
AssertionError: expected 200 to be 201 // Object.is equality - Expected + Received - 201 + 200 ❯ test/modelCatalogCatalog.test.ts:308:20
[cli] test/tui/components/chrome/moon-loader.test.ts > MoonLoader > uses the shared Braille mark for the waiting state: apps/pythinker-code/test/tui/components/chrome/moon-loader.test.ts#L50
AssertionError: expected '⠋' to be '⣷' // Object.is equality Expected: "⣷" Received: "⠋" ❯ test/tui/components/chrome/moon-loader.test.ts:50:43
[cli] test/tui/commands/secondary-model.test.ts > handleSecondaryModelCommand > reports a persistence failure without a status message: apps/pythinker-code/test/tui/commands/secondary-model.test.ts#L232
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times Received: 1st vi.fn() call: Array [ "Skipped refreshing models: host.authFlow.refreshOAuthProviderModels is not a function", "warning", ] Number of calls: 1 ❯ test/tui/commands/secondary-model.test.ts:232:33
[cli] test/utils/process/fd-detect.test.ts > detectFdPath > does not download fd when no local binary is available: apps/pythinker-code/test/utils/process/fd-detect.test.ts#L56
AssertionError: expected "vi.fn()" to not be called at all, but actually been called 1 times Received: 1st vi.fn() call: Array [ "https://code.pythinker.com/pythinker-code/fd/fd-v10.4.2-x86_64-unknown-linux-musl.tar.gz", Object { "signal": AbortSignal { Symbol(kEvents): Map {}, Symbol(events.maxEventTargetListeners): 0, Symbol(events.maxEventTargetListenersWarned): false, Symbol(kHandlers): Map {}, Symbol(kAborted): false, Symbol(kReason): undefined, Symbol(kComposite): false, Symbol(kTimeout): true, }, }, ] Number of calls: 1 ❯ test/utils/process/fd-detect.test.ts:56:27
[cli] test/tui/pythinker-tui-startup.test.ts > PythinkerTUI startup > keeps the active session when logging out a different provider: apps/pythinker-code/test/tui/pythinker-tui-startup.test.ts#L2312
AssertionError: expected "vi.fn()" to be called with arguments: [ 'openai' ] Number of calls: 0 ❯ test/tui/pythinker-tui-startup.test.ts:2312:28
[cli] test/cli/export.test.ts > pythinker export > builds the v2 harness by default: apps/pythinker-code/test/cli/export.test.ts#L564
AssertionError: expected "vi.fn()" to be called 1 times, but got 0 times ❯ test/cli/export.test.ts:564:49
[klient] test/e2e/legacy/client.test.ts > DaemonClient session action helpers > model catalog helpers call the catalog and action-suffix routes: packages/klient/test/e2e/legacy/client.test.ts#L463
AssertionError: expected [ [ 'GET', …(1) ], …(4) ] to deeply equal [ [ 'GET', …(1) ], …(4) ] - Expected + Received @@ -7,11 +7,11 @@ "GET", "http://server.example.test/api/v1/models", ], [ "POST", - "http://server.example.test/api/v1/models/pythinker-code%2Fkimi-for-coding:set_default", + "http://server.example.test/api/v1/models/openai%2Fgpt-4o:set_default", ], [ "GET", "http://server.example.test/api/v1/providers", ], ❯ test/e2e/legacy/client.test.ts:463:63
[agent-gateway] test/workspaces.test.ts > server-v2 /api/v1/workspaces > adds a relative directory without persisting when persist is false (variant 2): packages/agent-gateway/test/workspaces.test.ts#L371
AssertionError: promise resolved "'[workspace]\nadditional_dir = [ "/tmp…'" instead of rejecting - Expected: Error { "message": "rejected promise", } + Received: "[workspace] additional_dir = [ \"/tmp/pythinker-server-v2-workspaces-nZ7jsr/extra\" ] " ❯ test/workspaces.test.ts:371:57
[agent-gateway] test/workspaces.test.ts > server-v2 /api/v1/workspaces > adds an additional directory and persists it by default (variant 2): packages/agent-gateway/test/workspaces.test.ts#L339
Error: EEXIST: file already exists, mkdir '/tmp/pythinker-server-v2-workspaces-nZ7jsr/extra' ❯ test/workspaces.test.ts:339:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { errno: -17, code: 'EEXIST', syscall: 'mkdir', path: '/tmp/pythinker-server-v2-workspaces-nZ7jsr/extra' }
[agent-gateway] test/tasks.test.ts > server-v2 /api/v1/sessions/{sid}/tasks > lists registered tasks with mapped kind/status and wire-shaped fields: packages/agent-gateway/test/tasks.test.ts#L221
AssertionError: expected { id: 'test-s9dwddk0', …(12) } to match object { id: 'test-s9dwddk0', …(11) } (3 matching properties omitted from actual) - Expected + Received @@ -1,22 +1,11 @@ { "agent_id": "sub-1", - "current_routing_env_revision": "route-env:v1:aaa", "id": "test-s9dwddk0", "kind": "subagent", "model": "provider/secondary", "parent_tool_call_id": "call-parent-1", - "routing": { - "feature_source": "env", - "model_source": "policy-pool", - "operation": "spawn", - "policy_mode": "pool", - "policy_source": "config", - "profile_source": "requested", - "route_decision": "route-decision:v1:bbb", - "routing_env_revision": "route-env:v1:aaa", - }, "run_in_background": true, "session_id": "session_a192fcbc-a7f4-4ae0-b8be-7f702d2769cf", "status": "running", "subagent_type": "explore", "thinking_effort": "low", ❯ test/tasks.test.ts:221:31
[agent-gateway] test/subagentRosterTracker.test.ts > SubagentRosterTracker > carries the routing provenance and current revision from subagent.spawned: packages/agent-gateway/test/subagentRosterTracker.test.ts#L44
AssertionError: expected [ { id: 'agent-r', …(14) } ] to deeply equal [ ObjectContaining{…} ] - Expected + Received [ { - "current_routing_env_revision": "route-env:v1:new", + "created_at": "2026-09-19T17:16:40.306Z", + "current_routing_env_revision": undefined, + "description": "task agent-r", + "dynamic_workflow_index": 0, "id": "agent-r", - "routing": { - "feature_source": "default", - "model_source": "resume-existing", - "operation": "resume", - "policy_mode": "inherit", - "policy_source": "default", - "profile_source": "resume-existing", - "route_decision": "route-decision:v1:x", - "routing_env_revision": "route-env:v1:old", - }, + "kind": "subagent", + "model": undefined, + "parent_tool_call_id": "tc_dynamic_workflow_1", + "routing": undefined, + "run_in_background": false, + "session_id": "sess_1", + "status": "running", + "subagent_phase": "queued", + "subagent_type": "pythinker-subagent", + "thinking_effort": undefined, }, ] ❯ test/subagentRosterTracker.test.ts:44:24
test
Process completed with exit code 1.
test-pi-tui
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test-minidb
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (1)
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/
build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test-pi-tui
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
lint
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test-minidb
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
typecheck
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test (5)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test (1)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
build
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test (2)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test (4)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test (3)
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
test
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"