chore(ci): move Node 20 GitHub Actions jobs to Node 24#1230
Conversation
There was a problem hiding this comment.
Pull request overview
Updates GitHub Actions workflows to run on newer Node.js versions (22/24), aligning CI with the upcoming GitHub Actions Node 20 deprecation and keeping TypeScript client and docs validation jobs compatible.
Changes:
- Move TypeScript client test and publish workflows from Node 20.19.x to Node 24.x.
- Update docs validation workflow matrix from Node 20/22 to Node 22/24.
- Upgrade docs workflow actions to
actions/checkout@v4andactions/setup-node@v4.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/ts-client-test.yml | Switch ts-client CI test job to Node 24.x. |
| .github/workflows/ts-client-publish.yml | Switch ts-client publish job to Node 24.x. |
| .github/workflows/docs-checks.yml | Update docs validation matrix to 22/24 and bump checkout/setup-node actions to v4. |
Comments suppressed due to low confidence (1)
.github/workflows/docs-checks.yml:86
- There are multiple trailing blank lines at the end of this workflow file (after the last step). Consider removing the extra empty lines to keep the YAML clean and reduce noisy diffs in future edits.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@DeoJin please sign your commit. I cannot merge it because the commit is not signed. |
sscargal
left a comment
There was a problem hiding this comment.
Please implement the suggestions. Thanks.
| # Step 1: Checkout the repository code | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v3 | ||
| uses: actions/checkout@v4 |
There was a problem hiding this comment.
We should move to v5 at a minimum, which now uses node 24. See https://github.com/actions/checkout. v6 is available.
| # Step 2: Set up Node.js for the current matrix version | ||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v3 | ||
| uses: actions/setup-node@v4 |
There was a problem hiding this comment.
We should move to v5 at a minimum, which uses node 24 as the default. See https://github.com/actions/setup-node for details. v6 is the latest.
GitHub Actions is deprecating Node 20 runners on 2026-06-02. Three workflow files still pinned Node 20 and used checkout@v3 / setup-node@v3. Adopt the core of PR MemMachine#1230 (by @DeoJin): update the matrix and version pins so CI runs on Node 22 and 24. Go further than MemMachine#1230 on the action versions — jump actions/checkout and actions/setup-node to @v6 (latest) rather than @v4, since @v4 itself runs on Node 20 and would re-trip the same deprecation. @v5 is the floor (defaults to Node 24); @v6 is current. Audited five additional workflows that carry actions/setup-python@v5 and actions/upload-artifact@v4; those action versions already bundle Node 24 binaries and require no changes. Refs: MemMachine#1221 Closes: MemMachine#1230 Co-authored-by: DeoJin <deojin@users.noreply.github.com> Signed-off-by: Steve Scargall <37674041+sscargal@users.noreply.github.com>
GitHub Actions is deprecating Node 20 runners on 2026-06-02. This is a repo-wide sweep to eliminate all Node-20-based JS action pins before the cutover. Scope: - Bump node-version pins and matrix values off Node 20: - docs-checks.yml matrix [20, 22] → [22, 24] - ts-client-test.yml 20.19.x → 24.x - ts-client-publish.yml 20.19.x → 24.x - Bump every actions/checkout and actions/setup-node reference that was still at @V3 or @v4 up to @v6 (latest). @v4 runs on Node 20 and would re-trip the same deprecation warning; @v5 is the minimum safe pin (defaults to Node 24) and @v6 is the current release. Workflows touched: build-python, check-uvlockfile, docker-image, docs-checks, generate-openapi, installation-test, openclaw_plugin_publish, sbom, sync-platform-openapi, test-python-client-package, test-server-package, ts-client-publish, ts-client-test. - Workflows already on @v5 (lint, pytest, pytest-integration) are left as-is; @v5 defaults to Node 24 and is not deprecation-affected. - actions/setup-python@v5 and actions/upload-artifact@v4 were audited and need no change; those action versions already bundle Node 24 binaries. Adopts and completes the intent of PR MemMachine#1230 (by @DeoJin) which covered only the first three files. Closing that PR in favor of this repo-wide sweep; credit preserved via co-authorship. Refs: MemMachine#1221 Closes: MemMachine#1230 Co-authored-by: DeoJin <deojin@users.noreply.github.com> Signed-off-by: Steve Scargall <37674041+sscargal@users.noreply.github.com>
chore: bump Node 20 → 24 across GitHub Actions workflows GitHub Actions is deprecating Node 20 runners on 2026-06-02. This is a repo-wide sweep to eliminate all Node-20-based JS action pins before the cutover. Scope: - Bump node-version pins and matrix values off Node 20: - docs-checks.yml matrix [20, 22] → [22, 24] - ts-client-test.yml 20.19.x → 24.x - ts-client-publish.yml 20.19.x → 24.x - Bump every actions/checkout and actions/setup-node reference that was still at @V3 or @v4 up to @v6 (latest). @v4 runs on Node 20 and would re-trip the same deprecation warning; @v5 is the minimum safe pin (defaults to Node 24) and @v6 is the current release. Workflows touched: build-python, check-uvlockfile, docker-image, docs-checks, generate-openapi, installation-test, openclaw_plugin_publish, sbom, sync-platform-openapi, test-python-client-package, test-server-package, ts-client-publish, ts-client-test. - Workflows already on @v5 (lint, pytest, pytest-integration) are left as-is; @v5 defaults to Node 24 and is not deprecation-affected. - actions/setup-python@v5 and actions/upload-artifact@v4 were audited and need no change; those action versions already bundle Node 24 binaries. Adopts and completes the intent of PR MemMachine#1230 (by @DeoJin) which covered only the first three files. Closing that PR in favor of this repo-wide sweep; credit preserved via co-authorship. Refs: MemMachine#1221 Closes: MemMachine#1230 Signed-off-by: Steve Scargall <37674041+sscargal@users.noreply.github.com> Co-authored-by: DeoJin <deojin@users.noreply.github.com>
chore: bump Node 20 → 24 across GitHub Actions workflows GitHub Actions is deprecating Node 20 runners on 2026-06-02. This is a repo-wide sweep to eliminate all Node-20-based JS action pins before the cutover. Scope: - Bump node-version pins and matrix values off Node 20: - docs-checks.yml matrix [20, 22] → [22, 24] - ts-client-test.yml 20.19.x → 24.x - ts-client-publish.yml 20.19.x → 24.x - Bump every actions/checkout and actions/setup-node reference that was still at @V3 or @v4 up to @v6 (latest). @v4 runs on Node 20 and would re-trip the same deprecation warning; @v5 is the minimum safe pin (defaults to Node 24) and @v6 is the current release. Workflows touched: build-python, check-uvlockfile, docker-image, docs-checks, generate-openapi, installation-test, openclaw_plugin_publish, sbom, sync-platform-openapi, test-python-client-package, test-server-package, ts-client-publish, ts-client-test. - Workflows already on @v5 (lint, pytest, pytest-integration) are left as-is; @v5 defaults to Node 24 and is not deprecation-affected. - actions/setup-python@v5 and actions/upload-artifact@v4 were audited and need no change; those action versions already bundle Node 24 binaries. Adopts and completes the intent of PR MemMachine#1230 (by @DeoJin) which covered only the first three files. Closing that PR in favor of this repo-wide sweep; credit preserved via co-authorship. Refs: MemMachine#1221 Closes: MemMachine#1230 Signed-off-by: Steve Scargall <37674041+sscargal@users.noreply.github.com> Co-authored-by: DeoJin <deojin@users.noreply.github.com>
Summary
Closes #1221
Validation
pm install (in packages/ts-client)
pm run build (in packages/ts-client)
ode -e "require('./dist/index.js'); console.log('ts-client dist import smoke test: ok')" (in packages/ts-client)
Note:
pm test -- --runInBand in packages/ts-client currently fails on the repo's existing Jest/ts-jest preset mismatch (Preset ts-jest not found), independent of this workflow-only change.