Skip to content

chore(ci): pin Node.js 24#8279

Merged
eduardoboucas merged 2 commits into
mainfrom
chore/pin-node-24
May 31, 2026
Merged

chore(ci): pin Node.js 24#8279
eduardoboucas merged 2 commits into
mainfrom
chore/pin-node-24

Conversation

@eduardoboucas
Copy link
Copy Markdown
Member

No description provided.

@eduardoboucas eduardoboucas requested a review from a team as a code owner May 30, 2026 22:19
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 30, 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: 96cde822-cb58-447c-b1d8-57360d3d19e5

📥 Commits

Reviewing files that changed from the base of the PR and between 2771b99 and 7eea210.

📒 Files selected for processing (1)
  • .github/test-matrix.yml

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Pinned Node 24 to v24.15.0 in CI test matrix for consistent test environments.
    • Updated integration test workflow to use explicit install-version overrides for each matrix entry, ensuring tests run with the resolved Node install version and disabling the previous "check-latest" behavior.

Walkthrough

This PR updates CI configuration to enable Node installation version overrides. .github/test-matrix.yml adds a node_install_overrides map that pins Node 24 to 24.15.0. .github/workflows/integration-tests.yml now resolves node-install-version from that map when generating shard matrix entries and uses matrix.node-install-version in the actions/setup-node step with check-latest set to false.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No description was provided by the author, making it impossible to assess whether it relates to the changeset. Add a description explaining why Node.js 24 is being pinned and what specific version was chosen (24.15.0).
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore(ci): pin Node.js 24' directly and clearly describes the main change: pinning Node.js version 24 in CI configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ 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 chore/pin-node-24

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

📊 Benchmark results

Comparing with 968562d

  • Dependency count: 1,136 (no change)
  • Package size: 379 MB ⬇️ 0.00% decrease vs. 968562d
  • Number of ts-expect-error directives: 354 (no change)

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/integration-tests.yml:
- Line 90: The workflow step currently references a floating ref "uses:
actions/setup-node@v6"; update that step to pin to an immutable commit SHA (or
digest) for actions/setup-node instead of the major tag. Locate the step that
contains the string "uses: actions/setup-node@v6" and replace it with the same
action pinned to a specific commit SHA (e.g., uses:
actions/setup-node@<FULL_COMMIT_SHA>) so the workflow uses an immutable
reference.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b638b9ea-b503-454d-b388-a0b83b03e60e

📥 Commits

Reviewing files that changed from the base of the PR and between 968562d and 2771b99.

📒 Files selected for processing (2)
  • .github/test-matrix.yml
  • .github/workflows/integration-tests.yml


- name: Use Node.js ${{ matrix.node-version }}
- name: Use Node.js ${{ matrix.node-install-version }}
uses: actions/setup-node@v6
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot May 30, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE=".github/workflows/integration-tests.yml"
echo "== File: $FILE (lines 70-110) =="
nl -ba "$FILE" | sed -n '70,110p'

echo
echo "== All uses: actions/setup-node occurrences =="
rg -n "uses:\s*actions/setup-node@" "$FILE" || true

Repository: netlify/cli

Length of output: 183


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE=".github/workflows/integration-tests.yml"

echo "== Segment (grep line numbers for context) =="
grep -n "setup-node@" "$FILE" || true
echo
echo "== Segment lines 70-110 (raw) =="
sed -n '70,110p' "$FILE" || true

echo
echo "== Full lines matching actions/setup-node@ =="
rg -n "uses:\s*actions/setup-node@" "$FILE" || true

Repository: netlify/cli

Length of output: 1584


Pin actions/setup-node to a full commit SHA.

.github/workflows/integration-tests.yml uses uses: actions/setup-node@v6 (floating ref); pinning to an immutable commit SHA/digest is needed to prevent unexpected upstream changes.

🧰 Tools
🪛 zizmor (1.25.2)

[error] 90-90: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/integration-tests.yml at line 90, The workflow step
currently references a floating ref "uses: actions/setup-node@v6"; update that
step to pin to an immutable commit SHA (or digest) for actions/setup-node
instead of the major tag. Locate the step that contains the string "uses:
actions/setup-node@v6" and replace it with the same action pinned to a specific
commit SHA (e.g., uses: actions/setup-node@<FULL_COMMIT_SHA>) so the workflow
uses an immutable reference.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not relevant to this PR. This is a separate pre-existing concern

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@pieh, understood — this is a pre-existing concern unrelated to the changes in this PR. Would you like me to open a follow-up GitHub issue to track pinning actions/setup-node to an immutable commit SHA? I can also resolve this review comment if you'd like.

@eduardoboucas eduardoboucas merged commit df286f4 into main May 31, 2026
40 checks passed
@eduardoboucas eduardoboucas deleted the chore/pin-node-24 branch May 31, 2026 07:47
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.

2 participants