Skip to content

ci(release): opt Firebase deploy into Node 24 (#388)#628

Merged
niklam merged 1 commit into
masterfrom
ci/388-node24-firebase
May 31, 2026
Merged

ci(release): opt Firebase deploy into Node 24 (#388)#628
niklam merged 1 commit into
masterfrom
ci/388-node24-firebase

Conversation

@niklam
Copy link
Copy Markdown
Owner

@niklam niklam commented May 31, 2026

@

Related Issue

Fixes #388

What changed?

FirebaseExtended/action-hosting-deploy@v0 still declares using: node20 in its action.yml, which GitHub has deprecated. Node 20 JavaScript actions are forced to Node 24 starting 2026-06-02, and Node 20 is removed from runners on 2026-09-16.

This sets FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true on the build_and_deploy job in .github/workflows/firebase-hosting-release.yml, opting the deploy into Node 24 ahead of the forced cutover. It is the holding fix recommended in the issue (option 2). The third-party action stays in place; if upstream has not shipped a Node 24 release by ~August 2026, we can migrate to deploying via firebase-tools directly (option 3) — it is already a devDependency.

How to test

This workflow only runs on workflow_dispatch or workflow_call (from release.yml) and deploys to the live channel, so it cannot be exercised from a PR without triggering a real production deploy. Verification happens at the next release: the "Node.js 20 actions are deprecated" annotation should no longer appear, and the deploy step should run under Node 24.

Checklist

  • Linked to an approved issue
  • New code has unit tests — n/a (CI workflow config only)
  • Changes registered in all applicable plugins (Stream Deck, Mirabox) — n/a (no plugin code; this is the only workflow using the action)
  • No unrelated changes included
    @

Summary by CodeRabbit

  • Chores
    • Updated GitHub Actions workflow configuration to ensure compatibility with Node 24 runtime environment in preparation for upcoming Node version transitions.

@
ci(release): opt Firebase deploy into Node 24 (#388)

FirebaseExtended/action-hosting-deploy@v0 still declares `using: node20`,
which GitHub has deprecated: Node 20 actions are forced to Node 24 from
2026-06-02 and Node 20 is removed from runners on 2026-09-16.

Set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true on the deploy job so the
action runs under Node 24 ahead of the forced cutover. This is a holding
fix; remove it once upstream ships a Node 24 release (tracked in #388).
@
@github-actions github-actions Bot added the type: ci CI/CD changes label May 31, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 31, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3f7c86b0-0c7b-41ca-84f8-5be806c29194

📥 Commits

Reviewing files that changed from the base of the PR and between e416834 and ffbea48.

📒 Files selected for processing (1)
  • .github/workflows/firebase-hosting-release.yml

📝 Walkthrough

Walkthrough

The PR updates the Firebase Hosting release workflow to opt into Node 24 for JavaScript actions ahead of GitHub's June 2026 deadline, validating the hosted deployment action's compatibility before the forced transition.

Changes

Node 24 Compatibility Testing

Layer / File(s) Summary
Opt-in to Node 24 for JavaScript actions
.github/workflows/firebase-hosting-release.yml
The workflow environment adds FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' with comments documenting GitHub's Node 20 deprecation timeline (June 2026 enforcement, September 2026 removal) and the intent to verify the FirebaseExtended hosting deploy action's compatibility before the forced runner cutover.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A rabbit hops toward Node twenty-four,
With env flags set to test once more,
Before June comes and changes the game,
The deploy shall work, still the same! 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding Node 24 opt-in to the Firebase deploy workflow, clearly identifying it as a CI configuration change linked to issue #388.
Description check ✅ Passed The description includes all required template sections: Related Issue (#388), What changed (detailed explanation), How to test (verified at next release), and Checklist (mostly complete with reasonable n/a justifications).
Linked Issues check ✅ Passed The PR implements option 2 from issue #388: setting FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to opt Firebase deploy into Node 24 ahead of GitHub's forced cutover on 2026-06-02, directly addressing the deprecation warning and timeline concerns outlined in the issue.
Out of Scope Changes check ✅ Passed All changes are scoped to the single affected file (.github/workflows/firebase-hosting-release.yml) and directly address the Node 24 migration objective; no unrelated modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/388-node24-firebase

Comment @coderabbitai help to get the list of available commands and usage tips.

@niklam
Copy link
Copy Markdown
Owner Author

niklam commented May 31, 2026

@
@coderabbitai the cleanup trigger is already documented inline: the env block is preceded by a comment ending with "Remove this once FirebaseExtended/action-hosting-deploy ships a Node 24 release (issue #388)", and issue #388 tracks the migration to deploying via firebase-tools directly if upstream stays on Node 20. No further change needed.
@

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 31, 2026

Tip

For best results, initiate chat on the files or code changes.

@niklam: Understood — the inline comment pointing to #388 serves as the cleanup trigger, and the issue itself captures the fallback plan. No further change needed. Thanks for the clarification!


✏️ Learnings added
Learnt from: niklam
URL: https://github.com/niklam/iracedeck/pull/628

Timestamp: 2026-05-31T17:39:43.291Z
Learning: In the repository niklam/iracedeck, the `FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'` env var added to the `build_and_deploy` job in `.github/workflows/firebase-hosting-release.yml` is a holding fix for the FirebaseExtended/action-hosting-deployv0 action still declaring `using: node20`. The inline comment and issue `#388` document the cleanup trigger (remove once upstream ships a Node 24 release) and the fallback plan (migrate to deploying via `firebase-tools` directly if upstream has not released Node 24 by ~August 2026).

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@niklam niklam merged commit 2dbe1df into master May 31, 2026
6 checks passed
@niklam niklam deleted the ci/388-node24-firebase branch May 31, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: ci CI/CD changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: FirebaseExtended/action-hosting-deploy still on Node.js 20 (deprecated June 2026)

1 participant