Skip to content

Update GitHub Action runtime from Node 20 to Node 24#52

Merged
masci merged 5 commits intomasci:mainfrom
azuretek:update_to_node24
Mar 13, 2026
Merged

Update GitHub Action runtime from Node 20 to Node 24#52
masci merged 5 commits intomasci:mainfrom
azuretek:update_to_node24

Conversation

@azuretek
Copy link
Copy Markdown
Contributor

@azuretek azuretek commented Mar 11, 2026

Summary

  • Updated action runtime from node20 to node24 in action.yml (node20 is deprecated on GitHub Actions runners)
  • Bumped all CI actions to Node 24 compatible versions:
    • actions/checkout v4 → v6
    • actions/setup-node v4 → v6
    • v4 of both actions runs on Node 20 internally; v6 runs on Node 24
  • Fixed TypeScript strict catch clause typing for TS5 compatibility
  • Bumped dev dependencies:
    • typescript 4 → 5: required for Node 24 module resolution support
    • @types/node 12 → 24: aligned with target Node runtime
    • jest 27 → 30, @types/jest 27 → 30: jest 27/29 don't fully support the Node 24 runtime (V8 and module resolution changes)
    • ts-jest 27 → 29: latest version with jest 30 compatibility

Test plan

  • npm run all passes (build, format, lint, pack, test)
  • CI passes on PR
  • Verify e2e test runs successfully with node24 runtime

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.
Copy link
Copy Markdown
Contributor

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 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.yml to node24 and 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.ts and 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.

azuretek and others added 4 commits March 11, 2026 15:23
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 masci merged commit c1b1466 into masci:main Mar 13, 2026
2 checks passed
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.

3 participants