Update GitHub Action runtime from Node 20 to Node 24#52
Merged
masci merged 5 commits intomasci:mainfrom Mar 13, 2026
Merged
Conversation
Node 20 is deprecated on GitHub Actions runners. This updates the action runtime, dev dependencies (TypeScript 5, @types/node 24, jest 29, ts-jest 29), and fixes TypeScript strict catch clause typing.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates this GitHub Action’s runtime and toolchain to a newer Node/TypeScript/Jest baseline, and adjusts code/tests for stricter TypeScript error typing.
Changes:
- Switches the action runtime in
action.ymltonode24and updates CI to set up Node 24. - Upgrades TypeScript/Jest and Node/Jest type packages, with corresponding rebuild of
dist/index.js. - Adjusts error typing in
src/datadog.tsand test catch blocks for stricter TS catch-variable typing.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
action.yml |
Updates the action runtime to Node 24. |
.github/workflows/test.yml |
Adds actions/setup-node@v4 pinned to Node 24 for CI. |
package.json |
Bumps dev dependencies (TypeScript/Jest/@types). |
src/datadog.ts |
Updates helper signature to accept unknown for TS catch compatibility. |
__tests__/main.test.ts |
Adds explicit typing/casts for caught errors in e2e tests. |
dist/index.js |
Rebuilt bundled output reflecting new compiler/tooling behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Replace unsafe type assertions with idiomatic runtime checks for execSync error handling in e2e tests.
actions/checkout v4 → v6, actions/setup-node v4 → v6. Both v4 versions run on Node 20; v6 runs on Node 24, matching our target runtime.
masci
approved these changes
Mar 13, 2026
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
node20tonode24inaction.yml(node20 is deprecated on GitHub Actions runners)actions/checkoutv4 → v6actions/setup-nodev4 → v6typescript4 → 5: required for Node 24 module resolution support@types/node12 → 24: aligned with target Node runtimejest27 → 30,@types/jest27 → 30: jest 27/29 don't fully support the Node 24 runtime (V8 and module resolution changes)ts-jest27 → 29: latest version with jest 30 compatibilityTest plan
npm run allpasses (build, format, lint, pack, test)