Skip to content

fix: deprecation warnings#193

Merged
bobbyg603 merged 10 commits intomainfrom
fix/192-bump-actions-node24
Apr 20, 2026
Merged

fix: deprecation warnings#193
bobbyg603 merged 10 commits intomainfrom
fix/192-bump-actions-node24

Conversation

@bobbyg603
Copy link
Copy Markdown
Member

@bobbyg603 bobbyg603 commented Apr 20, 2026

Summary

  • Bumps GitHub Actions that currently run on Node 20 to their latest majors, all of which run on Node 24.
  • actions/checkout: v4v6
  • actions/setup-node: v4v6
  • actions/upload-artifact: v4v7

Why

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:

  • checkout v5/v6: runtime-only bump, no API breaks relevant to our usage.
  • setup-node v5/v6: runtime-only bump; node-version and cache inputs unchanged.
  • upload-artifact v5/v6/v7: v5/v6 were runtime bumps. v7 added optional archive: false for 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 with name/path) aren't affected.

Test plan

  • PR workflow (pr.yaml + test.yaml) runs green on this PR.
  • After merge, the next tag will exercise sea.yaml across all four matrix OSes.

Closes #192

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings April 20, 2026 15:58
bobbyg603 and others added 2 commits April 20, 2026 11:59
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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-node to v6 in the composite action and workflows.
  • Bump actions/checkout to v6 in CI workflows.
  • Bump actions/upload-artifact to v7 in 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.

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>
@bobbyg603 bobbyg603 changed the title chore: bump actions to Node 24 runtime fix: deprecation warnings Apr 20, 2026
bobbyg603 and others added 6 commits April 20, 2026 12:10
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>
@bobbyg603 bobbyg603 merged commit 148ba9f into main Apr 20, 2026
7 checks passed
@bobbyg603 bobbyg603 deleted the fix/192-bump-actions-node24 branch April 20, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Node.js 20 is deprecated

3 participants