Skip to content

feat!: Update Node.js version from 20 to 24 - #395

Merged
jdx merged 2 commits into
jdx:mainfrom
tumerorkun:patch-1
Mar 13, 2026
Merged

feat!: Update Node.js version from 20 to 24#395
jdx merged 2 commits into
jdx:mainfrom
tumerorkun:patch-1

Conversation

@tumerorkun

@tumerorkun tumerorkun commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

Fixes #394

This PR updates the GitHub Actions runner environment to use Node.js 24, following the deprecation notice for Node.js 20. GitHub has announced that starting June 2, 2026, Node.js 24 will become the default, and earlier versions will be restricted to ensure security and performance standards.

The jdx/mise-action@v3 currently triggers a deprecation warning because it defaults to the Node.js 20 runtime. To proactively address this and avoid potential workflow failures during the transition period, we are opting into the newer runtime version now.

This PR updates the GitHub Actions runner environment to use Node.js 24, following the deprecation notice for Node.js 20. GitHub has announced that starting June 2, 2026, Node.js 24 will become the default, and earlier versions will be restricted to ensure security and performance standards.

The jdx/mise-action@v3 currently triggers a deprecation warning because it defaults to the Node.js 20 runtime. To proactively address this and avoid potential workflow failures during the transition period, we are opting into the newer runtime version now.
@tumerorkun
tumerorkun requested a review from jdx as a code owner March 11, 2026 19:15
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request proactively updates the Node.js runtime used by the GitHub Actions runner environment from version 20 to 24. This change is in response to GitHub's announcement regarding the deprecation of Node.js 20 and the upcoming default to Node.js 24, ensuring continued security, performance, and avoiding potential workflow disruptions.

Highlights

  • Node.js Version Update: Updated the GitHub Actions runner environment from Node.js 20 to Node.js 24.
  • Proactive Deprecation Avoidance: Addressed the upcoming deprecation of Node.js 20 and the associated warning from jdx/mise-action@v3 by proactively migrating to Node.js 24.
Changelog
  • action.yml
    • Updated the using directive for the action's runtime to node24.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@greptile-apps

greptile-apps Bot commented Mar 11, 2026

Copy link
Copy Markdown

Greptile Summary

This PR completes the Node.js 24 migration for mise-action by updating action.yml's runs.using field from node20 to node24. The rest of the repository's tooling had already been updated to Node.js 24 in prior main-branch commits (e.g., mise.toml pins node = '24', the CI workflows specify node-version: 24, and package.json targets @types/node: ^24), making this a clean, well-coordinated final step.

Key points:

  • The change is a single line in action.yml and is internally consistent with the existing development environment.
  • dist/index.js is correctly left unchanged — the TypeScript source was not modified, and the check-dist.yml CI workflow will verify the committed bundle still matches a fresh build.
  • The feat! breaking-change designation in the PR title is appropriate: consumers running this action on self-hosted GitHub Actions runners or older GitHub Enterprise Server instances that do not have Node.js 24 available will need to update their runner environments before adopting this version of the action.
  • The update proactively addresses GitHub's announced deprecation of the Node.js 20 runtime ahead of the June 2, 2026 transition deadline.

Confidence Score: 5/5

  • This PR is safe to merge — it is a minimal, targeted, and well-prepared runtime bump.
  • The change touches exactly one line in one file. All surrounding infrastructure (mise.toml, CI workflows, package types) was already on Node.js 24 before this PR, so there are no consistency gaps. The compiled dist/index.js does not need to be rebuilt since no source code changed, and the check-dist.yml workflow enforces this automatically. The only operational consideration — self-hosted runners needing Node.js 24 — is correctly surfaced via the feat! semver designation.
  • No files require special attention.

Important Files Changed

Filename Overview
action.yml Single-line change updating the GitHub Actions JavaScript runtime from node20 to node24. Consistent with the repository's existing tooling: mise.toml already pins node = '24', package.json targets @types/node: ^24, and both CI workflows already specify node-version: 24.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Workflow triggers mise-action] --> B{GitHub Actions Runner}
    B --> C["Reads action.yml\n'using: node24'"]
    C --> D["Executes dist/index.js\nwith Node.js 24 runtime"]
    D --> E[Downloads & installs mise]
    E --> F[Configures PATH & env vars]
    F --> G[Runs 'mise install']
    G --> H[Exports GITHUB_ENV vars]

    style C fill:#22c55e,color:#fff
    style D fill:#22c55e,color:#fff

    subgraph "Before PR"
        B1["using: node20"] -.-> D1["Node.js 20 runtime"]
    end

    subgraph "After PR"
        B2["using: node24"] --> D2["Node.js 24 runtime"]
    end
Loading

Last reviewed commit: 0cc6425

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request attempts to update the Node.js runtime for the action from node20 to node24. However, node24 is not a supported runtime in GitHub Actions at this time. The correct runtime to use after node20 is node22. The current change will break the action for all users. I have provided a comment with a suggestion to correct the runtime version.

Comment thread action.yml
description: A boolean value to indicate if a cache was hit.
runs:
using: node20
using: node24

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

The node24 runtime is not currently supported by GitHub Actions. The migration path from the deprecated node20 is to node22. Using an unsupported runtime will cause workflows that use this action to fail.

  using: node22

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The assertion that node24 is unsupported is incorrect based on the latest GitHub runner deprecation schedule.

  • Official Deprecation Notice: GitHub has issued a formal warning for jdx/mise-action@v3 (and other Node 20 actions), explicitly stating: "Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026."

  • Opt-in Mechanism: GitHub currently supports an immediate opt-in to the Node 24 runtime via the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable.

  • Migration Path: While Node 22 is an LTS release, GitHub's specific runner implementation is tracking Node 24 for the 2026 default cutoff. Moving to node22 now would only necessitate another migration in the near future, whereas node24 aligns with the final 2026 requirement.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

node24 should save us some time.

@tumerorkun tumerorkun changed the title Update Node.js version from 20 to 24 feat: Update Node.js version from 20 to 24 Mar 11, 2026
@BjoernPetersen

Copy link
Copy Markdown

Not a maintainer, but I have two notes on this:

  • The commit message should follow commit conventions (you only updated the PR title)
  • Some users might still be using old GitHub runner versions that don't support Node 24, so I'd suggest marking this as a breaking change (feat!:). At least that's the convention for major Node updates that I've observed in other popular GitHub actions

@tumerorkun tumerorkun changed the title feat: Update Node.js version from 20 to 24 feat!: Update Node.js version from 20 to 24 Mar 12, 2026
@jdx
jdx merged commit 35ed1d3 into jdx:main Mar 13, 2026
18 checks passed
@mise-en-dev mise-en-dev mentioned this pull request Mar 13, 2026
jdx pushed a commit that referenced this pull request Mar 13, 2026
---
## [4.0.0](https://github.com/jdx/mise-action/compare/v3.6.3..v4.0.0) -
2026-03-13

### 🚀 Features

- **breaking** Update Node.js version from 20 to 24 (#395) by
[@tumerorkun](https://github.com/tumerorkun) in
[#395](#395)

### New Contributors

* @tumerorkun made their first contribution in
[#395](#395)

<!-- generated by git-cliff -->
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.

Bump to node.js 24

4 participants