chore(release): prepare AgentPatchCheck public release #21
ci.yml
on: push
test
/
windows-release-artifact-smoke
5m 30s
test
/
headless-core
35s
Matrix: test / build-check-test
Annotations
32 errors and 5 warnings
|
test / headless-core
Process completed with exit code 1.
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > resolves the canonical formal bootstrap into the zero-LLM effective contract:
test/agentpatchcheck/swebench-cli.test.ts#L237
Error: ENOENT: no such file or directory, open '/Users/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1.manifest.json'
❯ test/agentpatchcheck/swebench-cli.test.ts:237:16
❯ test/agentpatchcheck/swebench-cli.test.ts:235:48
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/Users/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1.manifest.json' }
|
|
test/agentpatchcheck/swebench-adapter.test.ts > SWE-bench Multilingual adapter > resolves and validates the repository root from instance metadata:
test/agentpatchcheck/swebench-adapter.test.ts#L74
AssertionError: expected '/private/var/folders/df/djsxfhc17x956…' to be '/var/folders/df/djsxfhc17x95674wsm_g8…' // Object.is equality
Expected: "/var/folders/df/djsxfhc17x95674wsm_g8s980000gn/T/apc-swebench-repository-resolution-pqQmz0/.agentpatchcheck/swebench/repositories/gin-gonic__gin"
Received: "/private/var/folders/df/djsxfhc17x95674wsm_g8s980000gn/T/apc-swebench-repository-resolution-pqQmz0/.agentpatchcheck/swebench/repositories/gin-gonic__gin"
❯ test/agentpatchcheck/swebench-adapter.test.ts:74:69
|
|
test/agentpatchcheck/runtime-record.test.ts > Harness-native durable Runtime record > accepts a durable checkpoint for mutation attributed on an error result:
test/agentpatchcheck/runtime-record.test.ts#L607
AssertionError: promise rejected "Error: Runtime worktree no longer resolve…" instead of resolving
❯ test/agentpatchcheck/runtime-record.test.ts:607:4
Caused by: Caused by: Error: Runtime worktree no longer resolves to its recorded Git worktree.
❯ Object.assertRepositoryState src/agentpatchcheck/harness-native-runtime.ts:305:11
❯ assertHarnessNativeWorktreeResumeSafe src/agentpatchcheck/runtime-record.ts:284:2
❯ Function.open src/agentpatchcheck/runtime-record.ts:164:4
❯ test/agentpatchcheck/runtime-record.test.ts:601:3
|
|
test/agentpatchcheck/runtime-record.test.ts > Harness-native durable Runtime record > fails closed when the worktree drifts or a durable tool dispatch has no result:
test/agentpatchcheck/runtime-record.test.ts#L479
AssertionError: expected [Function] to throw error including 'latest durable checkpoint' but got 'Runtime worktree no longer resolves t…'
Expected: "latest durable checkpoint"
Received: "Runtime worktree no longer resolves to its recorded Git worktree."
❯ test/agentpatchcheck/runtime-record.test.ts:479:4
|
|
test/agentpatchcheck/runtime-record.test.ts > Harness-native durable Runtime record > resumes the same attempt without resetting iteration or Provider-call consumption:
src/agentpatchcheck/runtime-record.ts#L163
Error: Runtime record identity does not match the requested task or worktree.
❯ Function.open src/agentpatchcheck/runtime-record.ts:163:11
❯ src/agentpatchcheck/harness-native-runtime.ts:619:21
❯ LockedFileSystem.withLocks src/fs/locked-file-system.ts:108:11
❯ LockedFileSystem.withLock src/fs/locked-file-system.ts:93:10
❯ withHarnessNativeRuntimeRecordLock src/agentpatchcheck/runtime-record.ts:190:9
❯ Object.execute src/agentpatchcheck/harness-native-runtime.ts:613:12
❯ test/agentpatchcheck/runtime-record.test.ts:415:17
|
|
test/agentpatchcheck/harness-native-runtime.test.ts > Harness-native Agent Runtime > applies a multi-line LF request to a CRLF file while preserving CRLF output:
test/agentpatchcheck/harness-native-runtime.test.ts#L2078
AssertionError: expected { version: 1, …(23) } to match object { status: 'succeeded', toolCalls: 1 }
(95 matching properties omitted from actual)
- Expected
+ Received
{
"status": "succeeded",
- "toolCalls": 1,
+ "toolCalls": 0,
}
❯ test/agentpatchcheck/harness-native-runtime.test.ts:2078:19
|
|
test/agentpatchcheck/harness-native-repetition-report.test.mjs > Harness-native repetition report > counts public-verification false positives without counting Oracle infrastructure errors:
test/agentpatchcheck/harness-native-repetition-report.test.mjs#L64
AssertionError: expected [ { id: 'error', …(4) }, …(1) ] to deeply equal [ { id: 'error', …(3) }, …(1) ]
- Expected
+ Received
@@ -1,16 +1,26 @@
[
{
+ "failureClassification": {
+ "byCompletion": {},
+ "byExecution": {},
+ "bySemantic": {},
+ },
"id": "error",
"passedRuns": 1,
"publicVerificationFalsePositives": 0,
"statusCounts": {
"hidden-oracle-error": 1,
"passed": 1,
},
},
{
+ "failureClassification": {
+ "byCompletion": {},
+ "byExecution": {},
+ "bySemantic": {},
+ },
"id": "exact",
"passedRuns": 1,
"publicVerificationFalsePositives": 1,
"statusCounts": {
"hidden-oracle-failed": 1,
❯ test/agentpatchcheck/harness-native-repetition-report.test.mjs:64:40
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > binds ambient cwd, direct filesystem, subprocess, and structured tools to the managed workspace:
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts#L52
AssertionError: expected '{\n "cwd": "/private/var/folders/df/…' to contain '"/var/folders/df/djsxfhc17x95674wsm_g…'
- Expected
+ Received
- "/var/folders/df/djsxfhc17x95674wsm_g8s980000gn/T/agentpatchcheck-dsh-cwd-MpfP5Y"
+ {
+ "cwd": "/private/var/folders/df/djsxfhc17x95674wsm_g8s980000gn/T/agentpatchcheck-dsh-cwd-MpfP5Y",
+ "childCwd": "/private/var/folders/df/djsxfhc17x95674wsm_g8s980000gn/T/agentpatchcheck-dsh-cwd-MpfP5Y",
+ "direct": "workspace-marker\n",
+ "firstLine": "workspace-marker",
+ "envKeys": []
+ }
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:52:31
|
|
test/agentpatchcheck/cline-runtime-adapter.test.ts > Cline control runtime adapter > constructs the public Cline runtime with the validated provider and Harness-owned tools:
test/agentpatchcheck/cline-runtime-adapter.test.ts#L45
AssertionError: expected { providerId: 'openai-native', …(8) } to match object { providerId: 'openai-native', …(2) }
(7 matching properties omitted from actual)
- Expected
+ Received
{
- "maxIterations": 12,
+ "maxIterations": 24,
"modelId": "test-model",
"providerId": "openai-native",
}
❯ test/agentpatchcheck/cline-runtime-adapter.test.ts:45:21
|
|
test/agentpatchcheck/benchmark-runner.test.ts > Benchmark Runner > writes reports beside the runner-managed evidence and runtime roots, not below the BenchmarkSpec:
test/agentpatchcheck/benchmark-runner.test.ts#L91
AssertionError: expected 'benchmarks/benchmark-output-boundary.…' to be 'D:\runtime\b2-c01\benchmarks\benchmar…' // Object.is equality
Expected: "D:\runtime\b2-c01\benchmarks\benchmark-output-boundary.json"
Received: "benchmarks/benchmark-output-boundary.json"
❯ test/agentpatchcheck/benchmark-runner.test.ts:91:97
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > rejects an evaluator checkout whose HEAD differs from the frozen manifest revision:
test/agentpatchcheck/swebench-cli.test.ts#L496
AssertionError: expected SWEbenchEvaluatorPreflightError: evaluato… { …(5) } to match object { …(3) }
(3 matching properties omitted from actual)
- Expected
+ Received
- {
+ SWEbenchEvaluatorPreflightError {
"actualRevision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"expectedRevision": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"failedChecks": [
+ "evaluator-python-unavailable",
"evaluator-revision-mismatch",
],
}
❯ test/agentpatchcheck/swebench-cli.test.ts:496:4
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > fails before Agent startup when the selected evaluator Python lacks the Docker SDK:
test/agentpatchcheck/swebench-cli.test.ts#L474
AssertionError: expected SWEbenchEvaluatorPreflightError: evaluato… { …(5) } to match object { …(2) }
(4 matching properties omitted from actual)
- Expected
+ Received
- {
+ SWEbenchEvaluatorPreflightError {
"code": "evaluator_preflight_failed",
"failedChecks": [
- "evaluator-python-docker-module-unavailable",
+ "evaluator-python-unavailable",
],
}
❯ test/agentpatchcheck/swebench-cli.test.ts:474:4
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > admits a clean canonical formal startup at a non-baseline HEAD and reaches the AgentRuntime boundary:
test/agentpatchcheck/swebench-cli.test.ts#L385
Error: ENOENT: no such file or directory, open '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1-formal.manifest.json'
❯ test/agentpatchcheck/swebench-cli.test.ts:385:34
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1-formal.manifest.json' }
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > rejects an instance outside the configured manifest before evaluator preflight:
test/agentpatchcheck/swebench-cli.test.ts#L356
AssertionError: expected [Function] to throw error including 'is not part of HAL-Verified-Mini v1' but got 'Could not load canonical SWE-bench bo…'
Expected: "is not part of HAL-Verified-Mini v1"
Received: "Could not load canonical SWE-bench bootstrap manifest: /home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/HAL-Verified-Mini-v1.manifest.json"
❯ test/agentpatchcheck/swebench-cli.test.ts:356:4
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > selects a HAL task through the canonical CLI from the configured manifest:
test/agentpatchcheck/swebench-cli.test.ts#L304
Error: ENOENT: no such file or directory, open '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/HAL-Verified-Mini-v1.manifest.json'
❯ test/agentpatchcheck/swebench-cli.test.ts:304:82
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/HAL-Verified-Mini-v1.manifest.json' }
|
|
test/agentpatchcheck/swebench-cli.test.ts > SWE-bench CLI post-run orchestration > resolves the canonical formal bootstrap into the zero-LLM effective contract:
test/agentpatchcheck/swebench-cli.test.ts#L237
Error: ENOENT: no such file or directory, open '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1.manifest.json'
❯ test/agentpatchcheck/swebench-cli.test.ts:237:16
❯ test/agentpatchcheck/swebench-cli.test.ts:235:48
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/home/runner/work/agentpatchcheck/agentpatchcheck/.agentpatchcheck/swebench/datasets/APC-Pilot-10-v1.manifest.json' }
|
|
test/agentpatchcheck/harness-native-runtime.test.ts > Harness-native Agent Runtime > applies a multi-line LF request to a CRLF file while preserving CRLF output:
test/agentpatchcheck/harness-native-runtime.test.ts#L2078
AssertionError: expected { version: 1, …(23) } to match object { status: 'succeeded', toolCalls: 1 }
(95 matching properties omitted from actual)
- Expected
+ Received
{
"status": "succeeded",
- "toolCalls": 1,
+ "toolCalls": 0,
}
❯ test/agentpatchcheck/harness-native-runtime.test.ts:2078:19
|
|
test/agentpatchcheck/harness-native-repetition-report.test.mjs > Harness-native repetition report > counts public-verification false positives without counting Oracle infrastructure errors:
test/agentpatchcheck/harness-native-repetition-report.test.mjs#L64
AssertionError: expected [ { id: 'error', …(4) }, …(1) ] to deeply equal [ { id: 'error', …(3) }, …(1) ]
- Expected
+ Received
@@ -1,16 +1,26 @@
[
{
+ "failureClassification": {
+ "byCompletion": {},
+ "byExecution": {},
+ "bySemantic": {},
+ },
"id": "error",
"passedRuns": 1,
"publicVerificationFalsePositives": 0,
"statusCounts": {
"hidden-oracle-error": 1,
"passed": 1,
},
},
{
+ "failureClassification": {
+ "byCompletion": {},
+ "byExecution": {},
+ "bySemantic": {},
+ },
"id": "exact",
"passedRuns": 1,
"publicVerificationFalsePositives": 1,
"statusCounts": {
"hidden-oracle-failed": 1,
❯ test/agentpatchcheck/harness-native-repetition-report.test.mjs:64:40
|
|
test/agentpatchcheck/cline-runtime-adapter.test.ts > Cline control runtime adapter > constructs the public Cline runtime with the validated provider and Harness-owned tools:
test/agentpatchcheck/cline-runtime-adapter.test.ts#L45
AssertionError: expected { providerId: 'openai-native', …(8) } to match object { providerId: 'openai-native', …(2) }
(7 matching properties omitted from actual)
- Expected
+ Received
{
- "maxIterations": 12,
+ "maxIterations": 24,
"modelId": "test-model",
"providerId": "openai-native",
}
❯ test/agentpatchcheck/cline-runtime-adapter.test.ts:45:21
|
|
test/agentpatchcheck/benchmark-runner.test.ts > Benchmark Runner > writes reports beside the runner-managed evidence and runtime roots, not below the BenchmarkSpec:
test/agentpatchcheck/benchmark-runner.test.ts#L91
AssertionError: expected 'benchmarks/benchmark-output-boundary.…' to be 'D:\runtime\b2-c01\benchmarks\benchmar…' // Object.is equality
Expected: "D:\runtime\b2-c01\benchmarks\benchmark-output-boundary.json"
Received: "benchmarks/benchmark-output-boundary.json"
❯ test/agentpatchcheck/benchmark-runner.test.ts:91:97
|
|
test / windows-release-artifact-smoke
Process completed with exit code 1.
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > reports program exceptions, output limits, and wall-clock timeouts through the DSH failure taxonomy:
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts#L132
AssertionError: expected [Function] to throw error including 'code run failed (exception)' but got '(0 , __vite_ssr_import_1__.stripTypeS…'
Expected: "code run failed (exception)"
Received: "(0 , __vite_ssr_import_1__.stripTypeScriptTypes) is not a function"
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:132:88
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > propagates an outer abort and drains an active exclusive dispatch:
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts#L106
Error: Test timed out in 15000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:106:2
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > drains an unawaited nested dispatch before the outer run settles:
src/agentpatchcheck/dsh-compatible-code-runtime.ts#L412
TypeError: stripTypeScriptTypes is not a function
❯ runDshCompatibleCode src/agentpatchcheck/dsh-compatible-code-runtime.ts:412:19
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:89:24
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > uses DSH parallel/exclusive barriers and commits in submission order:
src/agentpatchcheck/dsh-compatible-code-runtime.ts#L412
TypeError: stripTypeScriptTypes is not a function
❯ runDshCompatibleCode src/agentpatchcheck/dsh-compatible-code-runtime.ts:412:19
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:63:24
|
|
test/agentpatchcheck/dsh-compatible-code-runtime.test.ts > DSH-compatible code runtime > binds ambient cwd, direct filesystem, subprocess, and structured tools to the managed workspace:
src/agentpatchcheck/dsh-compatible-code-runtime.ts#L412
TypeError: stripTypeScriptTypes is not a function
❯ runDshCompatibleCode src/agentpatchcheck/dsh-compatible-code-runtime.ts:412:19
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:28:25
|
|
test/agentpatchcheck/distribution-cli.test.ts > distributed Headless CLI > runs the built agentpatchcheck binary without tsx and preserves its public command contract:
test/agentpatchcheck/distribution-cli.test.ts#L47
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: 2, stderr: '' }
(1 matching property omitted from actual)
- Expected
+ Received
{
- "exitCode": 2,
- "stderr": "",
+ "exitCode": 1,
+ "stderr": "file:///home/runner/work/agentpatchcheck/agentpatchcheck/dist/agentpatchcheck.js:218999
+ import { stripTypeScriptTypes } from \"node:module\";
+ ^^^^^^^^^^^^^^^^^^^^
+ SyntaxError: The requested module 'node:module' does not provide an export named 'stripTypeScriptTypes'
+ at ModuleJob._instantiate (node:internal/modules/esm/module_job:213:21)
+ at async ModuleJob.run (node:internal/modules/esm/module_job:320:5)
+ at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)
+ at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)
+
+ Node.js v20.20.2
+ ",
}
❯ test/agentpatchcheck/distribution-cli.test.ts:47:18
|
|
test/agentpatchcheck/cline-runtime-adapter.test.ts > Cline control runtime adapter > constructs the public Cline runtime with the validated provider and Harness-owned tools:
test/agentpatchcheck/cline-runtime-adapter.test.ts#L45
AssertionError: expected { providerId: 'openai-native', …(8) } to match object { providerId: 'openai-native', …(2) }
(7 matching properties omitted from actual)
- Expected
+ Received
{
- "maxIterations": 12,
+ "maxIterations": 24,
"modelId": "test-model",
"providerId": "openai-native",
}
❯ test/agentpatchcheck/cline-runtime-adapter.test.ts:45:21
|
|
test/agentpatchcheck/benchmark-runner.test.ts > Benchmark Runner > writes reports beside the runner-managed evidence and runtime roots, not below the BenchmarkSpec:
test/agentpatchcheck/benchmark-runner.test.ts#L91
AssertionError: expected 'benchmarks/benchmark-output-boundary.…' to be 'D:\runtime\b2-c01\benchmarks\benchmar…' // Object.is equality
Expected: "D:\runtime\b2-c01\benchmarks\benchmark-output-boundary.json"
Received: "benchmarks/benchmark-output-boundary.json"
❯ test/agentpatchcheck/benchmark-runner.test.ts:91:97
|
|
Unhandled error:
src/agentpatchcheck/programmatic-tool-runtime.ts#L108
TypeError: stripTypeScriptTypes is not a function
❯ runProgrammaticToolComposition src/agentpatchcheck/programmatic-tool-runtime.ts:108:15
❯ test/agentpatchcheck/programmatic-tool-runtime.test.ts:64:15
This error originated in "test/agentpatchcheck/programmatic-tool-runtime.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 "aborts the worker, rejects new dispatches, and drains a started nested mutation". 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:
src/agentpatchcheck/dsh-compatible-code-runtime.ts#L412
TypeError: stripTypeScriptTypes is not a function
❯ runDshCompatibleCode src/agentpatchcheck/dsh-compatible-code-runtime.ts:412:19
❯ test/agentpatchcheck/dsh-compatible-code-runtime.test.ts:110:15
This error originated in "test/agentpatchcheck/dsh-compatible-code-runtime.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 "propagates an outer abort and drains an active exclusive dispatch". 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.
|
|
test / headless-core
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test / build-check-test (macos-latest, 22)
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, actions/setup-node@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test / build-check-test (ubuntu-latest, 22)
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test / windows-release-artifact-smoke
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test / build-check-test (ubuntu-latest, 20)
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|