Skip to content

OSS polish: MIT license, CI workflow, benchmarked README, repo metadata #1

OSS polish: MIT license, CI workflow, benchmarked README, repo metadata

OSS polish: MIT license, CI workflow, benchmarked README, repo metadata #1

Triggered via push August 25, 2026 05:29
Status Failure
Total duration 34s
Artifacts

ci.yml

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

Annotations

12 errors and 2 warnings
Node 24
Process completed with exit code 1.
tests/cli.test.ts > CLI smoke (built dist) > rejects unknown flags with exit code 2-style message: tests/cli.test.ts#L194
AssertionError: expected 'node:internal/modules/cjs/loader:1520…' to contain 'Unknown option' - Expected + Received - Unknown option + node:internal/modules/cjs/loader:1520 + throw err; + ^ + + Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15) + at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27) + at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12) + at Module._load (node:internal/modules/cjs/loader:1294:5) + at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.19.0 + ❯ tests/cli.test.ts:194:22
tests/cli.test.ts > CLI smoke (built dist) > errors gracefully without any API key or mock: tests/cli.test.ts#L182
AssertionError: expected 'node:internal/modules/cjs/loader:1520…' to contain 'No API key found' - Expected + Received - No API key found + node:internal/modules/cjs/loader:1520 + throw err; + ^ + + Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15) + at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27) + at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12) + at Module._load (node:internal/modules/cjs/loader:1294:5) + at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.19.0 + ❯ tests/cli.test.ts:182:22
tests/cli.test.ts > CLI smoke (built dist) > -p runs one-shot with the mock model: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/24.19.0/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js -p describe this project node:internal/modules/cjs/loader:1520 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15) at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27) at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12) at Module._load (node:internal/modules/cjs/loader:1294:5) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.19.0 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:158:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' ], pid: 2530, stdout: '', stderr: 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' }
tests/cli.test.ts > CLI smoke (built dist) > --help prints usage with all documented flags: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/24.19.0/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js --help node:internal/modules/cjs/loader:1520 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15) at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27) at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12) at Module._load (node:internal/modules/cjs/loader:1294:5) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.19.0 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:151:18 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' ], pid: 2522, stdout: '', stderr: 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' }
tests/cli.test.ts > CLI smoke (built dist) > --version prints the version: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/24.19.0/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js --version node:internal/modules/cjs/loader:1520 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15) at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27) at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12) at Module._load (node:internal/modules/cjs/loader:1294:5) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.19.0 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:147:12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' ], pid: 2499, stdout: '', stderr: 'node:internal/modules/cjs/loader:1520\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Module._resolveFilename (node:internal/modules/cjs/loader:1517:15)\n at wrapResolveFilename (node:internal/modules/cjs/loader:1071:27)\n at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1095:10)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1122:12)\n at Module._load (node:internal/modules/cjs/loader:1294:5)\n at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n at node:internal/main/run_main_module:33:47 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v24.19.0\n' }
Node 22
Process completed with exit code 1.
tests/cli.test.ts > CLI smoke (built dist) > rejects unknown flags with exit code 2-style message: tests/cli.test.ts#L194
AssertionError: expected 'node:internal/modules/cjs/loader:1433…' to contain 'Unknown option' - Expected + Received - Unknown option + node:internal/modules/cjs/loader:1433 + throw err; + ^ + + Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' + at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22) + at Function._load (node:internal/modules/cjs/loader:1216:25) + at wrapModuleLoad (node:internal/modules/cjs/loader:254:19) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) + at node:internal/main/run_main_module:36:49 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v22.23.2 + ❯ tests/cli.test.ts:194:22
tests/cli.test.ts > CLI smoke (built dist) > errors gracefully without any API key or mock: tests/cli.test.ts#L182
AssertionError: expected 'node:internal/modules/cjs/loader:1433…' to contain 'No API key found' - Expected + Received - No API key found + node:internal/modules/cjs/loader:1433 + throw err; + ^ + + Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' + at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22) + at Function._load (node:internal/modules/cjs/loader:1216:25) + at wrapModuleLoad (node:internal/modules/cjs/loader:254:19) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) + at node:internal/main/run_main_module:36:49 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v22.23.2 + ❯ tests/cli.test.ts:182:22
tests/cli.test.ts > CLI smoke (built dist) > -p runs one-shot with the mock model: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/22.23.2/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js -p describe this project node:internal/modules/cjs/loader:1433 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22) at Function._load (node:internal/modules/cjs/loader:1216:25) at wrapModuleLoad (node:internal/modules/cjs/loader:254:19) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.23.2 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:158:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' ], pid: 2552, stdout: '', stderr: 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' }
tests/cli.test.ts > CLI smoke (built dist) > --help prints usage with all documented flags: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/22.23.2/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js --help node:internal/modules/cjs/loader:1433 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22) at Function._load (node:internal/modules/cjs/loader:1216:25) at wrapModuleLoad (node:internal/modules/cjs/loader:254:19) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.23.2 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:151:18 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' ], pid: 2532, stdout: '', stderr: 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' }
tests/cli.test.ts > CLI smoke (built dist) > --version prints the version: tests/cli.test.ts#L137
Error: Command failed: /opt/hostedtoolcache/node/22.23.2/x64/bin/node /home/runner/work/tinycode/tinycode/dist/cli/index.js --version node:internal/modules/cjs/loader:1433 throw err; ^ Error: Cannot find module '/home/runner/work/tinycode/tinycode/dist/cli/index.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22) at Function._load (node:internal/modules/cjs/loader:1216:25) at wrapModuleLoad (node:internal/modules/cjs/loader:254:19) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.23.2 ❯ run tests/cli.test.ts:137:12 ❯ tests/cli.test.ts:147:12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { status: 1, signal: null, output: [ null, '', 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' ], pid: 2524, stdout: '', stderr: 'node:internal/modules/cjs/loader:1433\n throw err;\n ^\n\nError: Cannot find module \'/home/runner/work/tinycode/tinycode/dist/cli/index.js\'\n at Function._resolveFilename (node:internal/modules/cjs/loader:1430:15)\n at defaultResolveImpl (node:internal/modules/cjs/loader:1040:19)\n at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1045:22)\n at Function._load (node:internal/modules/cjs/loader:1216:25)\n at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)\n at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)\n at node:internal/main/run_main_module:36:49 {\n code: \'MODULE_NOT_FOUND\',\n requireStack: []\n}\n\nNode.js v22.23.2\n' }
Node 24
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/
Node 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/