Skip to content

CI

CI #502

Triggered via schedule August 18, 2026 04:00
Status Failure
Total duration 17m 49s
Artifacts –

ci.yml

on: schedule
Matrix: test
iOS (Kit tests)
2m 12s
iOS (Kit tests)
Signed Windows Release
0s
Signed Windows Release
Notarized macOS Release
0s
Notarized macOS Release
Unsigned Windows Build (testing)
0s
Unsigned Windows Build (testing)
Unsigned Linux Build (testing)
0s
Unsigned Linux Build (testing)
Windows ARM64 Release Candidate Gate
0s
Windows ARM64 Release Candidate Gate
Publish Coordinated Release
0s
Publish Coordinated Release
Fit to window
Zoom out
Zoom in

Annotations

40 errors and 5 warnings
src/main/ollama/OllamaRetrievalFirst.test.ts > OllamaRetrievalFirst > enforces retrieval-first for known model families: src/main/ollama/OllamaRetrievalFirst.test.ts#L11
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/main/ollama/OllamaRetrievalFirst.test.ts:11:66
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > streams native pre-tool prose and post-tool final answer in order: src/main/ollama/OllamaProvider.test.ts#L2267
AssertionError: expected [ 'complete-after-tool-result' ] to deeply equal [ 'run', 'complete-after-tool-result' ] - Expected + Received [ - "run", "complete-after-tool-result", ] ❯ src/main/ollama/OllamaProvider.test.ts:2267:29
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > stops repeated arg-invalid tool calls instead of looping forever: src/main/ollama/OllamaProvider.test.ts#L2129
AssertionError: expected "vi.fn()" to be called 4 times, but got 0 times ❯ src/main/ollama/OllamaProvider.test.ts:2129:25
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > uses a narrow repair prompt for arg-invalid JSON fallback tool calls: src/main/ollama/OllamaProvider.test.ts#L2063
AssertionError: expected "vi.fn()" to be called 1 times, but got 0 times ❯ src/main/ollama/OllamaProvider.test.ts:2063:25
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > loads and saves Ollama ensemble memory by participant seat key: src/main/ollama/OllamaProvider.test.ts#L1212
AssertionError: expected "vi.fn()" to be called with arguments: [ 'chat-ollama-1', …(2) ] Received: 1st vi.fn() call: [ "chat-ollama-1", - ObjectContaining { - "model": "gpt_oss_20b", + { + "modelId": "gpt_oss_20b", "toolTurnCount": 1, + "trajectory": [ + { + "argsSummary": "workspace_search path=.", + "ok": true, + "resultSummary": "src/main/EnsemblePrompt.ts:1: identity fix", + "toolName": "workspace_search", + }, + ], + "updatedAt": 1787026000069, + "workingMemory": "Ollama working memory (compressed prior tool trajectory): + 1. workspace_search path=. → ok: src/main/EnsemblePrompt.ts:1: identity fix", }, "ensemble:lfm-seat", ] Number of calls: 1 ❯ src/main/ollama/OllamaProvider.test.ts:1212:42
src/main/ollama/OllamaModelProfiles.test.ts > workflow hints > documents scout escalation without defaulting to cloud implementation: src/main/ollama/OllamaModelProfiles.test.ts#L282
AssertionError: expected 'TaskWraith local-scout workflow: Use …' to contain 'continue locally' Expected: "continue locally" Received: "TaskWraith local-scout workflow: Use this Ollama thread to search, read the relevant files, and recommend a concrete next step. When your investigation is complete, present your findings and wait for further instructions. Do not attempt repo-wide refactors or full test-suite repair loops without confirming scope, tier, context, and verification path." ❯ src/main/ollama/OllamaModelProfiles.test.ts:282:67
src/main/antigravity/AntigravityModelDiscovery.test.ts > discoverAuthenticatedAgyModels > persists clean model ids and records live provenance for current tab-separated output: src/main/antigravity/AntigravityModelDiscovery.test.ts#L129
AssertionError: expected [ { …(2) }, …(2) ] to deeply equal [ { …(2) }, …(1) ] - Expected + Received @@ -5,6 +5,10 @@ }, { "id": "gemini-3.1-pro-low", "label": "Gemini 3.1 Pro (Low)", }, + { + "id": "claude-sonnet-4-5", + "label": "Claude Sonnet 4.5", + }, ] ❯ src/main/antigravity/AntigravityModelDiscovery.test.ts:129:20
src/main/RemoteFirstLaunchState.test.ts > buildRemoteFirstLaunchState > projects active app notices for the iOS first-launch sheet: src/main/RemoteFirstLaunchState.test.ts#L414
AssertionError: expected [ 'antigravity', 'grok', …(4) ] to deeply equal [ 'antigravity', 'grok', …(3) ] - Expected + Received [ "antigravity", "grok", "cursor", "muse", + "mistral", "ollama", ] ❯ src/main/RemoteFirstLaunchState.test.ts:414:66
src/shared/contextWindows.test.ts > ContextWindows.swift drift guard > keeps every model window synchronized: src/shared/contextWindows.test.ts#L88
AssertionError: expected [ …(156) ] to deeply equal [ …(157) ] - Expected + Received @@ -210,14 +210,10 @@ { "key": "gemma4:12b-it-qat", "value": 262144, }, { - "key": "gemma4:31b-mlx", - "value": 262144, - }, - { "key": "glm-4.7-flash:q4_K_M", "value": 202752, }, { "key": "gpt-5.2", ❯ src/shared/contextWindows.test.ts:88:33
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > measures the pinned live-build source and support custody from the workspace: scripts/studio-acceptance-harness.test.ts#L4942
AssertionError: expected { …(30) } to match object { …(13) } (45 matching properties omitted from actual) - Expected + Received @@ -7,9 +7,9 @@ "companionSha256": null, "outCount": null, "outDigest": null, "productAncestorPresent": true, "requiredProductAncestor": "4b4c1913acd777277d16ae638c39bae635f1355e", - "sourceCount": 2258, - "sourceDigest": "1f096e88b77cba881c25223add13b26cbfe22b30df35ca3ccecf23d43f3adcaf", + "sourceCount": 2248, + "sourceDigest": "507381d4fc9ae8a11bed21f68e340d34329d514cb5ec877b1da9673c8e9e7362", "supportMatches": true, } ❯ scripts/studio-acceptance-harness.test.ts:4942:21
src/shared/contextWindows.test.ts > ContextWindows.swift drift guard > keeps every model window synchronized: src/shared/contextWindows.test.ts#L88
AssertionError: expected [ …(156) ] to deeply equal [ …(157) ] - Expected + Received @@ -210,14 +210,10 @@ { "key": "gemma4:12b-it-qat", "value": 262144, }, { - "key": "gemma4:31b-mlx", - "value": 262144, - }, - { "key": "glm-4.7-flash:q4_K_M", "value": 202752, }, { "key": "gpt-5.2", ❯ src/shared/contextWindows.test.ts:88:33
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > drives the authorized renderer-to-durable-window joins in order without launching Electron: scripts/studio-acceptance-harness.test.ts#L5396
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ runStudioAcceptance scripts/studio-acceptance-harness.cjs:5232:25 ❯ scripts/studio-acceptance-harness.test.ts:5396:26
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > measures the pinned live-build source and support custody from the workspace: scripts/studio-acceptance-harness.test.ts#L4942
AssertionError: expected { …(30) } to match object { …(13) } (45 matching properties omitted from actual) - Expected + Received @@ -7,9 +7,9 @@ "companionSha256": null, "outCount": null, "outDigest": null, "productAncestorPresent": true, "requiredProductAncestor": "4b4c1913acd777277d16ae638c39bae635f1355e", - "sourceCount": 2258, - "sourceDigest": "1f096e88b77cba881c25223add13b26cbfe22b30df35ca3ccecf23d43f3adcaf", + "sourceCount": 2248, + "sourceDigest": "507381d4fc9ae8a11bed21f68e340d34329d514cb5ec877b1da9673c8e9e7362", "supportMatches": true, } ❯ scripts/studio-acceptance-harness.test.ts:4942:21
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > accepts only one bounded media source for a real launch: scripts/studio-acceptance-harness.test.ts#L1652
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ scripts/studio-acceptance-harness.test.ts:1652:12
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > refuses a preexisting manifest and duplicate instance before any coordinator fork: scripts/studio-acceptance-harness.test.ts#L1353
AssertionError: expected [Function] to throw error matching /fresh unique instance|manifest alrea…/i but got 'Studio acceptance launch is macOS-only' - Expected: /fresh unique instance|manifest already exists/i + Received: "Studio acceptance launch is macOS-only" ❯ scripts/studio-acceptance-harness.test.ts:1353:5
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > does not acknowledge or detach when the ready manifest cannot be verified: scripts/studio-acceptance-harness.test.ts#L641
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ scripts/studio-acceptance-harness.test.ts:641:3
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > waits for coordinator readiness and never forks the watchdog directly: scripts/studio-acceptance-harness.test.ts#L553
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ scripts/studio-acceptance-harness.test.ts:553:3
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > requires explicit detached launch consent and a caller-supplied sanitized instance id: scripts/studio-acceptance-harness.test.ts#L538
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ scripts/studio-acceptance-harness.test.ts:538:12
Unhandled error: scripts/studio-acceptance-harness.test.ts#L659
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ launchDetachedCoordinator scripts/studio-acceptance-harness.cjs:1366:7 ❯ scripts/studio-acceptance-harness.test.ts:659:20 This error originated in "scripts/studio-acceptance-harness.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "does not acknowledge or detach when the ready manifest cannot be verified". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: scripts/studio-acceptance-harness.test.ts#L579
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ launchDetachedCoordinator scripts/studio-acceptance-harness.cjs:1366:7 ❯ scripts/studio-acceptance-harness.test.ts:579:20 This error originated in "scripts/studio-acceptance-harness.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "waits for coordinator readiness and never forks the watchdog directly". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
src/main/ollama/OllamaRetrievalFirst.test.ts > OllamaRetrievalFirst > enforces retrieval-first for known model families: src/main/ollama/OllamaRetrievalFirst.test.ts#L11
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/main/ollama/OllamaRetrievalFirst.test.ts:11:66
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > streams native pre-tool prose and post-tool final answer in order: src/main/ollama/OllamaProvider.test.ts#L2267
AssertionError: expected [ 'complete-after-tool-result' ] to deeply equal [ 'run', 'complete-after-tool-result' ] - Expected + Received [ - "run", "complete-after-tool-result", ] ❯ src/main/ollama/OllamaProvider.test.ts:2267:29
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > stops repeated arg-invalid tool calls instead of looping forever: src/main/ollama/OllamaProvider.test.ts#L2129
AssertionError: expected "vi.fn()" to be called 4 times, but got 0 times ❯ src/main/ollama/OllamaProvider.test.ts:2129:25
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > uses a narrow repair prompt for arg-invalid JSON fallback tool calls: src/main/ollama/OllamaProvider.test.ts#L2063
AssertionError: expected "vi.fn()" to be called 1 times, but got 0 times ❯ src/main/ollama/OllamaProvider.test.ts:2063:25
src/main/ollama/OllamaProvider.test.ts > runOllamaProvider streaming > loads and saves Ollama ensemble memory by participant seat key: src/main/ollama/OllamaProvider.test.ts#L1212
AssertionError: expected "vi.fn()" to be called with arguments: [ 'chat-ollama-1', …(2) ] Received: 1st vi.fn() call: [ "chat-ollama-1", - ObjectContaining { - "model": "gpt_oss_20b", + { + "modelId": "gpt_oss_20b", "toolTurnCount": 1, + "trajectory": [ + { + "argsSummary": "workspace_search path=.", + "ok": true, + "resultSummary": "src/main/EnsemblePrompt.ts:1: identity fix", + "toolName": "workspace_search", + }, + ], + "updatedAt": 1787026184938, + "workingMemory": "Ollama working memory (compressed prior tool trajectory): + 1. workspace_search path=. → ok: src/main/EnsemblePrompt.ts:1: identity fix", }, "ensemble:lfm-seat", ] Number of calls: 1 ❯ src/main/ollama/OllamaProvider.test.ts:1212:42
src/main/ollama/OllamaModelProfiles.test.ts > workflow hints > documents scout escalation without defaulting to cloud implementation: src/main/ollama/OllamaModelProfiles.test.ts#L282
AssertionError: expected 'TaskWraith local-scout workflow: Use …' to contain 'continue locally' Expected: "continue locally" Received: "TaskWraith local-scout workflow: Use this Ollama thread to search, read the relevant files, and recommend a concrete next step. When your investigation is complete, present your findings and wait for further instructions. Do not attempt repo-wide refactors or full test-suite repair loops without confirming scope, tier, context, and verification path." ❯ src/main/ollama/OllamaModelProfiles.test.ts:282:67
src/main/antigravity/AntigravityModelDiscovery.test.ts > discoverAuthenticatedAgyModels > persists clean model ids and records live provenance for current tab-separated output: src/main/antigravity/AntigravityModelDiscovery.test.ts#L129
AssertionError: expected [ { …(2) }, …(2) ] to deeply equal [ { …(2) }, …(1) ] - Expected + Received @@ -5,6 +5,10 @@ }, { "id": "gemini-3.1-pro-low", "label": "Gemini 3.1 Pro (Low)", }, + { + "id": "claude-sonnet-4-5", + "label": "Claude Sonnet 4.5", + }, ] ❯ src/main/antigravity/AntigravityModelDiscovery.test.ts:129:20
src/main/RemoteFirstLaunchState.test.ts > buildRemoteFirstLaunchState > projects active app notices for the iOS first-launch sheet: src/main/RemoteFirstLaunchState.test.ts#L414
AssertionError: expected [ 'antigravity', 'grok', …(4) ] to deeply equal [ 'antigravity', 'grok', …(3) ] - Expected + Received [ "antigravity", "grok", "cursor", "muse", + "mistral", "ollama", ] ❯ src/main/RemoteFirstLaunchState.test.ts:414:66
src/shared/contextWindows.test.ts > ContextWindows.swift drift guard > keeps every model window synchronized: src/shared/contextWindows.test.ts#L88
AssertionError: expected [ …(156) ] to deeply equal [ …(157) ] - Expected + Received @@ -210,14 +210,10 @@ { "key": "gemma4:12b-it-qat", "value": 262144, }, { - "key": "gemma4:31b-mlx", - "value": 262144, - }, - { "key": "glm-4.7-flash:q4_K_M", "value": 202752, }, { "key": "gpt-5.2", ❯ src/shared/contextWindows.test.ts:88:33
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > measures the pinned live-build source and support custody from the workspace: scripts/studio-acceptance-harness.test.ts#L4942
AssertionError: expected { …(30) } to match object { …(13) } (45 matching properties omitted from actual) - Expected + Received @@ -7,9 +7,9 @@ "companionSha256": null, "outCount": null, "outDigest": null, "productAncestorPresent": true, "requiredProductAncestor": "4b4c1913acd777277d16ae638c39bae635f1355e", - "sourceCount": 2258, - "sourceDigest": "1f096e88b77cba881c25223add13b26cbfe22b30df35ca3ccecf23d43f3adcaf", + "sourceCount": 2248, + "sourceDigest": "507381d4fc9ae8a11bed21f68e340d34329d514cb5ec877b1da9673c8e9e7362", "supportMatches": true, } ❯ scripts/studio-acceptance-harness.test.ts:4942:21
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > accepts only one bounded media source for a real launch: scripts/studio-acceptance-harness.test.ts#L1652
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ scripts/studio-acceptance-harness.test.ts:1652:12
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > is plan-only by default and uses the sanctioned isolated profile posture: scripts/studio-acceptance-harness.test.ts#L1600
AssertionError: expected { …(9) } to match object { …(4) } (5 matching properties omitted from actual) - Expected + Received { - "CFFIXED_USER_HOME": "/virtual/repo/.local-only/studio/home", + "CFFIXED_USER_HOME": "D:\\virtual\\repo\\.local-only\\studio\\home", "IOS_REMOTE_TRUE": "0", "TASKWRAITH_INSTANCE_ID": "studioPlan01", "TASKWRAITH_STUDIO_COMPANION": "1", } ❯ scripts/studio-acceptance-harness.test.ts:1600:32
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > refuses a preexisting manifest and duplicate instance before any coordinator fork: scripts/studio-acceptance-harness.test.ts#L1353
AssertionError: expected [Function] to throw error matching /fresh unique instance|manifest alrea…/i but got 'Studio acceptance launch is macOS-only' - Expected: /fresh unique instance|manifest already exists/i + Received: "Studio acceptance launch is macOS-only" ❯ scripts/studio-acceptance-harness.test.ts:1353:5
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > refuses arbitrary coordinator commands, scripts, tokens, and path overrides: scripts/studio-acceptance-harness.test.ts#L825
AssertionError: expected { schemaVersion: 1, …(6) } to match object { …(2) } (21 matching properties omitted from actual) - Expected + Received { - "artifactRoot": "/tmp/studio-detached", + "artifactRoot": "D:\\tmp\\studio-detached", "token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", } ❯ scripts/studio-acceptance-harness.test.ts:825:57
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > does not acknowledge or detach when the ready manifest cannot be verified: scripts/studio-acceptance-harness.test.ts#L641
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ scripts/studio-acceptance-harness.test.ts:641:3
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > waits for coordinator readiness and never forks the watchdog directly: scripts/studio-acceptance-harness.test.ts#L553
Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ❯ scripts/studio-acceptance-harness.test.ts:553:3
scripts/studio-acceptance-harness.test.ts > Studio acceptance harness > requires explicit detached launch consent and a caller-supplied sanitized instance id: scripts/studio-acceptance-harness.test.ts#L538
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ scripts/studio-acceptance-harness.test.ts:538:12
scripts/channels-p5-live-migration-proof.test.ts > Channels P5 disposable-profile live migration proof > accepts only the private evidence override: scripts/channels-p5-live-migration-proof.test.ts#L29
AssertionError: expected 'D:\a\TaskWraith\TaskWraith\.local-onl…' to contain '.local-only/channels-p5-live-migratio…' Expected: ".local-only/channels-p5-live-migration-evidence.json" Received: "D:\a\TaskWraith\TaskWraith\.local-only\channels-p5-live-migration-evidence.json" ❯ scripts/channels-p5-live-migration-proof.test.ts:29:46
Unhandled error: scripts/studio-acceptance-harness.test.ts#L659
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ launchDetachedCoordinator scripts/studio-acceptance-harness.cjs:1366:7 ❯ scripts/studio-acceptance-harness.test.ts:659:20 This error originated in "scripts/studio-acceptance-harness.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "does not acknowledge or detach when the ready manifest cannot be verified". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
Unhandled error: scripts/studio-acceptance-harness.test.ts#L579
Error: Studio acceptance launch is macOS-only ❯ assertLaunchAuthorized scripts/studio-acceptance-harness.cjs:556:11 ❯ assertDetachedLaunchAuthorized scripts/studio-acceptance-harness.cjs:632:25 ❯ launchDetachedCoordinator scripts/studio-acceptance-harness.cjs:1366:7 ❯ scripts/studio-acceptance-harness.test.ts:579:20 This error originated in "scripts/studio-acceptance-harness.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running. The latest test that might've caused the error is "waits for coordinator readiness and never forks the watchdog directly". It might mean one of the following: - The error was thrown, while Vitest was running this test. - If the error occurred after the test had been completed, this was the last documented test before it was thrown.
iOS (Kit tests)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test (macOS Apple Silicon)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test (Linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test (macOS Intel)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test (Windows)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/