Conversation
GitHub is deprecating Node 20 on Actions runners. Bumps actions that currently run on Node 20 to their latest majors, all of which run on Node 24: - actions/checkout: v4 -> v6 - actions/setup-node: v4 -> v6 - actions/upload-artifact: v4 -> v7 No workflow behavior changes — our usage patterns (checkout with defaults, setup-node with node-version/cache, upload-artifact with name/path) aren't affected by the breaking changes in the jumps. Closes #192 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0.13 adds prebuilt binaries for win32-arm64, so installs on Windows ARM runners (and dev machines) resolve the prebuilt .node instead of falling back to a Rust build-from-source. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Node 24 entered LTS October 2025. Updates the default node-version used by CI workflows, the composite action input, and the README example. engines.node stays at >=22 — downstream consumers on Node 22 (LTS through October 2026) continue to work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates this repo’s GitHub Actions dependencies to majors that run on the Node 24 runtime, aligning with GitHub’s upcoming Node 20 deprecation for JavaScript-based actions.
Changes:
- Bump
actions/setup-nodetov6in the composite action and workflows. - Bump
actions/checkouttov6in CI workflows. - Bump
actions/upload-artifacttov7in the SEA release workflow.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
action.yaml |
Updates the composite action to use actions/setup-node@v6. |
.github/workflows/test.yaml |
Updates checkout/setup-node actions to the new majors for unit test CI. |
.github/workflows/sea.yaml |
Updates checkout/setup-node and upload-artifact majors for tagged SEA builds and artifact publishing. |
.github/workflows/pr.yaml |
Updates checkout major for the action integration test workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
daveplunkett
approved these changes
Apr 20, 2026
Previously the action hard-pinned npm install to @bugsplat/symbol-upload@10.2.4, which meant bug fixes and new features required an action release even when the action interface itself was unchanged. Users now set symbol-upload-version to pick any published npm version; the default moves to 10.3.1 (the current latest). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
glob@10.x is deprecated upstream and emits a security warning on install. Jumping to the current major (v13); our usage is just `await glob(pattern)`, which is unchanged across v10-v13. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Bump @types/node to ^24.0.0 (was ^20.14.8) to satisfy vite's peer dependency range (vite 7 requires ^20.19.0 || >=22.12.0). - Remove @mapbox/node-pre-gyp — unreferenced in any script, workflow, or source file. Eliminates transitive deprecation warnings for tar@6, are-we-there-yet@2, gauge@3, and glob@7. - Remove copyfiles — also unreferenced. Eliminates glob@7 + inflight transitives. - Bump rimraf to ^6.0.0 — v5 pulls in glob@10.5 (deprecated); v6 uses a current glob. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
macho-uuid 2.x ships a modern glob (^13), silencing the transitive glob@10.5.0 deprecation warning that traced back through it. 2.0.0 removed MachoFile.writeFile as a breaking change (consumer now handles the write itself per the upstream commit message). Inline writeMachoSlice() in src/dsym.ts reproduces the removed behavior: createReadStream of the slice (start: headerOffset, end: headerOffset + size) piped into createWriteStream. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
archiver-utils@5.0.2 (transitive via archiver@7.0.1) still pins glob@^10.0.0, which resolves to the deprecated glob@10.5.0 and emits an npm warning on install. archiver hasn't shipped a fix upstream. Forcing glob@^13 via overrides gets every glob in the tree onto v13 without waiting on the upstream bump. Our direct usage + rimraf + macho-uuid already run on v13; archiver-utils uses glob for the same basic pattern-matching API and works fine on v13 (tests + dsym upload smoke-tested). Also narrows macho.path (optional in macho-uuid 2.x) at the dsym.ts call site so basename() compiles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Unused (never imported/referenced): - esbuild: not used in source, scripts, or SEA pipeline (which uses ncc + bpkg + postject) - filenamify: not imported anywhere - rxjs: not imported anywhere Redundant @types packages (the runtime package ships its own .d.ts): - @types/glob: glob@13 ships types from dist/commonjs/index.d.ts - @types/workerpool: workerpool@6 ships types/index.d.ts Dropping esbuild also clears the lockfile of the nested vitest/node_modules/@esbuild/* extraneous entries that caused EBADPLATFORM failures on CI (npm ci tried to install aix-ppc64 variants on linux because those entries lacked an "optional": true flag alongside the "extraneous": true marker). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
actions/checkout:v4→v6actions/setup-node:v4→v6actions/upload-artifact:v4→v7Why
GitHub is deprecating Node 20 on Actions runners — forced to Node 24 starting June 2, 2026, and removed entirely on September 16, 2026. Without this bump, the workflow would eventually start emitting deprecation warnings and then fail.
Compatibility
Release notes for each major-version jump were reviewed:
node-versionandcacheinputs unchanged.archive: falsefor unzipped single-file uploads (opt-in, doesn't affect us) and moved the package internals to ESM.Our usage patterns (checkout with defaults, setup-node with
node-version/cache, upload-artifact withname/path) aren't affected.Test plan
pr.yaml+test.yaml) runs green on this PR.sea.yamlacross all four matrix OSes.Closes #192
🤖 Generated with Claude Code