Skip to content

chore(ci): update all workflows to use Node 24#2774

Open
hopehadfield wants to merge 3 commits intoredhat-developer:mainfrom
hopehadfield:node-24
Open

chore(ci): update all workflows to use Node 24#2774
hopehadfield wants to merge 3 commits intoredhat-developer:mainfrom
hopehadfield:node-24

Conversation

@hopehadfield
Copy link
Copy Markdown
Member

Hey, I just made a Pull Request!

https://redhat.atlassian.net/browse/RHIDP-11780

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

Signed-off-by: Hope Hadfield <hhadfiel@redhat.com>
@hopehadfield hopehadfield requested review from a team as code owners April 15, 2026 13:49
@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge bot commented Apr 15, 2026

Code Review by Qodo

🐞 Bugs (2)   📘 Rule violations (0)   📎 Requirement gaps (0)
🐞\ ≡ Correctness (1) ⛨ Security (1)

Grey Divider


Remediation recommended

1. Lightspeed engine still 22 🐞
Description
CI now runs workspace jobs with Node 24.x, but workspaces/lightspeed still declares `engines.node:
"22"`, making that workspace’s published metadata inconsistent with the new CI/runtime baseline.
This can block installation/usage in environments that enforce engines (e.g., engine-strict
consumers) and is inconsistent with other workspaces already allowing Node 24.
Code

.github/workflows/ci.yml[54]

+        node-version: [24.x]
Evidence
The CI workflow matrix is updated to run all workspace CI steps on Node 24.x, while the lightspeed
workspace still advertises Node 22-only support via engines. Other workspaces in the repo already
include Node 24 in their engines, indicating the intended direction after this PR.

.github/workflows/ci.yml[47-55]
workspaces/lightspeed/package.json[1-7]
package.json[2-8]
workspaces/theme/package.json[1-7]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
CI now runs workspace jobs on Node 24.x, but the `workspaces/lightspeed` package still declares `engines.node: "22"`, which is inconsistent with the new baseline.

## Issue Context
Other workspaces already allow Node 24 (e.g. `"22 || 24"`), and the root `package.json` was updated to Node 24.

## Fix Focus Areas
- workspaces/lightspeed/package.json[1-10]
- .github/workflows/ci.yml[47-80]

## Suggested change
- Update `workspaces/lightspeed/package.json` to allow Node 24 (e.g., `"22 || 24"` to match other workspaces, or `"24"` if dropping 22 support).
- If lightspeed truly cannot support Node 24, adjust CI to use a per-workspace Node version matrix (e.g., keep lightspeed on 22.x) rather than forcing 24.x for all workspaces.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Unpinned setup-node action 🐞
Description
.github/workflows/deprecate-archived-plugins.yml uses mutable action tags
(actions/setup-node@v4), unlike other workflows that pin to an immutable commit SHA. This
increases supply-chain risk because tag contents can change without a repo-side diff.
Code

.github/workflows/deprecate-archived-plugins.yml[R16-20]

      - name: Set up Node
        uses: actions/setup-node@v4
        with:
-          node-version: 22.x
+          node-version: 24.x
          registry-url: 'https://registry.npmjs.org'
Evidence
The deprecate workflow uses actions/setup-node@v4 (tag), while CI uses the same action pinned to a
specific commit SHA. Pinning provides deterministic and reviewable action code.

.github/workflows/deprecate-archived-plugins.yml[14-21]
.github/workflows/ci.yml[35-40]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The `deprecate-archived-plugins` workflow references `actions/setup-node@v4`, which is a mutable tag. Other workflows in this repo pin `actions/setup-node` to a commit SHA.

## Issue Context
Pinning GitHub Actions to a commit SHA reduces supply-chain risk and improves build reproducibility.

## Fix Focus Areas
- .github/workflows/deprecate-archived-plugins.yml[14-21]

## Suggested change
- Replace `actions/setup-node@v4` with the same pinned SHA used elsewhere in this repo (and keep the `# v4` comment).
- (Optional but recommended) also pin `actions/checkout@v4` in the same workflow for consistency with other workflows.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@rhdh-qodo-merge
Copy link
Copy Markdown

Review Summary by Qodo

Update all CI/CD workflows and package.json to use Node 24

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Update Node.js runtime from version 22 to 24 across all CI/CD workflows
• Update package.json engines field to require Node 24
• Modernize build and deployment pipeline dependencies
Diagram
flowchart LR
  A["Node 22"] -->|upgrade| B["Node 24"]
  B -->|applied to| C["CI/CD Workflows"]
  B -->|applied to| D["package.json engines"]
  C -->|affects| E["Build & Test Jobs"]
  C -->|affects| F["Release Jobs"]
  D -->|enforces| G["Local Development"]
Loading

Grey Divider

File Changes

1. .github/workflows/automate_renovate_changesets.yml ⚙️ Configuration changes +1/-1

Update Node version to 24 in renovate automation

.github/workflows/automate_renovate_changesets.yml


2. .github/workflows/ci.yml ⚙️ Configuration changes +3/-3

Update Node 22 to 24 in CI matrix and setup

.github/workflows/ci.yml


3. .github/workflows/deprecate-archived-plugins.yml ⚙️ Configuration changes +1/-1

Update Node version to 24 in deprecation workflow

.github/workflows/deprecate-archived-plugins.yml


View more (8)
4. .github/workflows/detect-new-workspace.yml ⚙️ Configuration changes +2/-2

Update Node version to 24 in workspace detection

.github/workflows/detect-new-workspace.yml


5. .github/workflows/release.yml ⚙️ Configuration changes +1/-1

Update Node version to 24 in release workflow

.github/workflows/release.yml


6. .github/workflows/release_workspace.yml ⚙️ Configuration changes +2/-2

Update Node version to 24 in workspace release jobs

.github/workflows/release_workspace.yml


7. .github/workflows/release_workspace_version.yml ⚙️ Configuration changes +2/-2

Update Node version to 24 in version release workflow

.github/workflows/release_workspace_version.yml


8. .github/workflows/upgrade-dashboard.yml ⚙️ Configuration changes +1/-1

Update Node version to 24 in dashboard upgrade workflow

.github/workflows/upgrade-dashboard.yml


9. .github/workflows/validate-codeowners.yml ⚙️ Configuration changes +1/-1

Update Node version to 24 in CODEOWNERS validation

.github/workflows/validate-codeowners.yml


10. .github/workflows/version-bump.yml ⚙️ Configuration changes +2/-2

Update Node version to 24 in version bump workflow

.github/workflows/version-bump.yml


11. package.json ⚙️ Configuration changes +1/-1

Update Node engine requirement to version 24

package.json


Grey Divider

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge bot added the enhancement New feature or request label Apr 15, 2026
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/deprecate-archived-plugins.yml Outdated
Comment thread .github/workflows/version-bump.yml Outdated
Comment thread .github/workflows/version-bump.yml Outdated
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants