Skip to content

chore: bump action runtime to Node 24 (fixes #448)#450

Merged
jhuleatt merged 1 commit intoFirebaseExtended:mainfrom
MukundaKatta:chore/runtime-node24
Apr 30, 2026
Merged

chore: bump action runtime to Node 24 (fixes #448)#450
jhuleatt merged 1 commit intoFirebaseExtended:mainfrom
MukundaKatta:chore/runtime-node24

Conversation

@MukundaKatta
Copy link
Copy Markdown
Contributor

Summary

Fixes #448.

GitHub will force all Node-20 JavaScript actions onto Node 24 on June 2nd 2026 and surfaces a deprecation annotation on every run in the meantime. Every `action-hosting-deploy` invocation today emits:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: FirebaseExtended/action-hosting-deploy@…

This PR bumps `runs.using` from `node20` → `node24` in `action.yml` so the warning goes away and we're on the other side of the forced cutover. That's the only line that changes.

Scope (deliberately minimal)

  • Single-line change in `action.yml`.
  • `npm run build` rebuilds cleanly and produces a byte-identical `bin/action.min.js` (the runtime declaration doesn't affect microbundle's output, which is already `--target node`). The `check-build.yml` workflow's `git diff --exit-code` on `*.min.js` should pass.
  • `npm run format:check` clean.
  • `npm run test` — 13 passed, 0 failed.
  • No source, dependency, or API changes.
  • No consumer-side change required; workflows using `FirebaseExtended/action-hosting-deploy@v0` keep working.

Verification

```
$ npm run format:check
(clean)

$ npm run build
Build "firebase-hosting-preview-action" to bin:
177 kB: action.min.js.gz
126 kB: action.min.js.br

$ git diff --stat -- "*.min.js"
(empty)

$ npm run test
Test Suites: 3 passed, 3 total
Tests: 13 passed, 13 total
```

Notes for the reviewer

  • Node 24 is the version GitHub will force runtime to on June 2nd 2026 (changelog). The currently-in-flight `ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION` escape hatch is explicitly temporary, so moving now is the cleanest path.
  • Issue [BUG] Support Node 24 #440 ("Support Node 24") is the same ask from a bug angle — this PR closes both.
  • CLA: I'll sign the Google CLA when the check runs if I haven't already.

Checklist

  • `npm run format:check`
  • `npm run build` — bundle unchanged
  • `npm run test` — 13/13 pass
  • No consumer workflow breakage (action input/output surface untouched)

Resolves FirebaseExtended#448. GitHub is forcing all Node 20 JavaScript actions onto
Node 24 on June 2nd 2026 and surfacing a deprecation annotation on
every run in the meantime. Bumping `runs.using` from `node20` to
`node24` in action.yml silences the warning and gets ahead of the
forced cutover.

Scope is deliberately minimal:

- Only `action.yml` changes.
- `npm run build` reruns cleanly and produces a byte-identical
  `bin/action.min.js` (the runtime declaration does not affect the
  microbundle output target, which is already `--target node`).
- `npm run format:check` clean. `npm run test` — 13 passed, 0 failed.
- No source, dependency, or API changes.

Only the action runtime is touched; consumers do not need to update
their workflows.
Copy link
Copy Markdown

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

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 updates the GitHub Action runtime from Node 20 to Node 24. Feedback suggests aligning the development environment, specifically the TypeScript configuration and package dependencies, with the new Node 24 target to ensure consistency across environments.

Comment thread action.yml
color: "blue"
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.

medium

While bumping the runtime to Node 24 addresses the deprecation warning, the project's development configuration remains significantly outdated. Specifically, package.json still references @tsconfig/node12 and older versions of development dependencies. To ensure consistent behavior between development, testing, and production environments, and to leverage modern Node.js features or optimizations, it is recommended to update the TypeScript configuration and development environment to align with the Node 24 target.

@jhuleatt
Copy link
Copy Markdown
Collaborator

Thank you @MukundaKatta!

@jhuleatt jhuleatt merged commit 500ac62 into FirebaseExtended:main Apr 30, 2026
3 of 5 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.

Node.js 20 actions are deprecated

2 participants