Repository navigation
fix(agent-core-v2): fold UserPromptSubmit hook output into the prompt message #11783
ci.yml
on: pull_request
build
1m 58s
test-pi-tui
41s
test-vscode-legacy
57s
test-windows
lint
1m 0s
typecheck
2m 3s
Matrix: test
Annotations
11 errors, 20 warnings, and 10 notices
|
test (3)
Process completed with exit code 1.
|
|
[agent-core-v2] test/features/tower/towerService.test.ts > AgentTowerService > leaves the roster untouched when another session owns the tower store:
packages/agent-core-v2/test/features/tower/towerService.test.ts#L931
AssertionError: expected [ …(2) ] to deeply equal [ …(2) ]
- Expected
+ Received
[
- "tower: skipping roster agent death mark — tower store is owned by another session",
"tower: skipping roster agent death clear — tower store is owned by another session",
+ "tower: skipping roster agent death mark — tower store is owned by another session",
]
❯ test/features/tower/towerService.test.ts:931:47
|
|
test (2)
Process completed with exit code 1.
|
|
[agent-core-v2] test/features/plan/plan.test.ts > Plan service > plan mode Bash ordinary permission behavior > allows Bash through ordinary yolo permission behavior:
packages/agent-core-v2/test/features/plan/plan.test.ts#L789
Error: Snapshot `Plan service > plan mode Bash ordinary permission behavior > allows Bash through ordinary yolo permission behavior 1` mismatched
- Expected
+ Received
@@ -2,11 +2,11 @@
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "permission": "yolo" }
[wire] plan_mode.enter { "agentId": "main", "id": "test-plan", "time": "<time>" }
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "planMode": true }
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Remove forbidden.txt" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Remove forbidden.txt" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Remove forbidden.txt", "promptContent": [ { "type": "text", "text": "Remove forbidden.txt" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Remove forbidden.txt" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/features/plan/plan.test.ts:789:40
|
|
[agent-core-v2] test/features/plan/plan.test.ts > Plan service > plan allows safe tool flow > allows read-only Bash to continue through permission and execution:
packages/agent-core-v2/test/features/plan/plan.test.ts#L710
Error: Snapshot `Plan service > plan allows safe tool flow > allows read-only Bash to continue through permission and execution 1` mismatched
- Expected
+ Received
@@ -2,11 +2,11 @@
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "permission": "yolo" }
[wire] plan_mode.enter { "agentId": "main", "id": "test-plan", "time": "<time>" }
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "planMode": true }
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Inspect without mutating files" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Inspect without mutating files" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Inspect without mutating files", "promptContent": [ { "type": "text", "text": "Inspect without mutating files" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Inspect without mutating files" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Inspect without mutating files" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/features/plan/plan.test.ts:710:40
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > runs an agent turn through registered tool approval and execution:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L490
Error: Snapshot `Agent loop > runs an agent turn through registered tool approval and execution 1` mismatched
- Expected
+ Received
@@ -1,9 +1,9 @@
[wire] tools.set_active_tools { "agentId": "main", "names": [ "Lookup" ], "time": "<time>" }
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up moon" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon", "promptContent": [ { "type": "text", "text": "Look up moon" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/agent/loop/loop.test.ts:490:43
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > fails the turn after a filtered step completes:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L186
Error: Snapshot `Agent loop > fails the turn after a filtered step completes 1` mismatched
- Expected
+ Received
@@ -1,8 +1,8 @@
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Hello" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello", "promptContent": [ { "type": "text", "text": "Hello" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Hello" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/agent/loop/loop.test.ts:186:38
|
|
[agent-core-v2] test/agent/loop/loop.test.ts > Agent loop > runs a text-only agent turn from prompt to completion:
packages/agent-core-v2/test/agent/loop/loop.test.ts#L91
Error: Snapshot `Agent loop > runs a text-only agent turn from prompt to completion 1` mismatched
- Expected
+ Received
@@ -1,9 +1,9 @@
[wire] tools.set_active_tools { "agentId": "main", "names": [], "time": "<time>" }
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Hello" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Hello" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Hello", "promptContent": [ { "type": "text", "text": "Hello" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Hello" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Hello" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/agent/loop/loop.test.ts:91:38
|
|
[agent-core-v2] test/tool/tool.test.ts > Agent tools > registered user tools > routes registered user tools through tool.call request/response:
packages/agent-core-v2/test/tool/tool.test.ts#L4596
Error: Snapshot `Agent tools > registered user tools > routes registered user tools through tool.call request/response 1` mismatched
- Expected
+ Received
@@ -1,11 +1,11 @@
[wire] permission.set_mode { "agentId": "main", "mode": "auto", "time": "<time>" }
[emit] agent.status.updated { "time": "<time>", "agentId": "main", "permission": "auto" }
[wire] tools.register_user_tool { "name": "Lookup", "description": "Look up a short test value.", "parameters": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ], "additionalProperties": false }, "agentId": "main", "time": "<time>" }
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up moon" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up moon" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up moon", "promptContent": [ { "type": "text", "text": "Look up moon" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 1, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "<auto-mode-enter-reminder>" } ], "toolCalls": [], "origin": { "kind": "injection", "variant": "permission_mode" } } ] }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Look up moon" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
❯ test/tool/tool.test.ts:4596:9
|
|
test (4)
Process completed with exit code 1.
|
|
[agent-core-v2] test/app/config/config.test.ts > Agent config > keeps turn-start config for later steps and applies updates to the next turn:
packages/agent-core-v2/test/app/config/config.test.ts#L322
Error: Snapshot `Agent config > keeps turn-start config for later steps and applies updates to the next turn 1` mismatched
- Expected
+ Received
@@ -1,8 +1,8 @@
[emit] prompt.submitted { "time": "<time>", "agentId": "main", "promptId": "<msg-1>", "userMessageId": "<msg-1>", "status": "running", "content": [ { "type": "text", "text": "Look up before config changes" } ], "createdAt": "<time>" }
[wire] turn.prompt { "agentId": "main", "input": [ { "type": "text", "text": "Look up before config changes" } ], "origin": { "kind": "user" }, "promptId": "<msg-1>", "turnId": 0, "time": "<time>" }
- [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up before config changes" }
+ [emit] turn.started { "time": "<time>", "agentId": "main", "turnId": 0, "promptId": "<msg-1>", "origin": { "kind": "user" }, "prompt": "Look up before config changes", "promptContent": [ { "type": "text", "text": "Look up before config changes" } ] }
[emit] context.spliced { "time": "<time>", "agentId": "main", "start": 0, "deleteCount": 0, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Look up before config changes" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } } ] }
[emit] prompt.started { "time": "<time>", "agentId": "main", "promptId": "<msg-1>" }
[wire] context.append_message { "agentId": "main", "message": { "role": "user", "content": [ { "type": "text", "text": "Look up before config changes" } ], "id": "<msg-1>", "toolCalls": [], "origin": { "kind": "user" } }, "time": "<time>" }
[wire] agent.message.appended { "message": { "message": { "role": "user", "content": [ { "type": "text", "text": "Look up before config changes" } ] }, "meta": { "source": "input", "promptId": "<msg-1>", "origin": { "kind": "user" }, "tracked": true, "createdAt": "<time>", "userMessageId": "<msg-1>" } }, "time": "<time>", "kind": "event" }
[wire] agent.turn.started { "turnId": 0, "queueItemId": "<msg-1>", "time": "<time>", "kind": "event" }
❯ test/app/config/config.test.ts:322:43
|
|
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/
|
|
test-vscode-legacy
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/
|
|
eslint(no-promise-executor-return):
packages/agent-core-v2/src/persistence/backends/node-fs/fileStorageService.ts#L51
Return statement should not be used in Promise executor.
|
|
eslint-plugin-unicorn(prefer-string-replace-all):
packages/agent-core-v2/src/_base/utils/workdir-slug.ts#L18
Prefer `String#replaceAll()` over `String#replace()` when using a regex with the global flag.
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/di/lifecycle.ts#L640
Unexpected console statement.
|
|
eslint(no-console):
packages/agent-core-v2/src/_base/di/lifecycle.ts#L558
Unexpected console statement.
|
|
eslint(no-loop-func):
packages/agent-core-v2/src/_base/event.ts#L211
Function declared in a loop contains unsafe references to variable(s)
|
|
eslint(no-loop-func):
packages/agent-core-v2/src/_base/event.ts#L206
Function declared in a loop contains unsafe references to variable(s)
|
|
eslint-plugin-import(no-duplicates):
packages/agent-core-v2/src/_base/di/scope.ts#L3
Module './instantiation' is imported more than once in this file
|
|
eslint(no-console):
packages/agent-core-v2/src/human/utils/watch.ts#L90
Unexpected console statement.
|
|
eslint-plugin-import(first):
packages/agent-core-v2/src/_base/di/test.ts#L12
Import statements must come first
|
|
eslint-plugin-import(first):
packages/agent-core-v2/src/_base/di/test.ts#L11
Import statements must come first
|
|
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/
|
|
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/
|
|
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 (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-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"
|
|
test-vscode-legacy
"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"
|
|
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"
|
|
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"
|
|
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 (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"
|