Skip to content

ci: upgrade checkout/setup-node to Node 24 (v5) - #4

Merged
daniel-xbow merged 2 commits into
chore/GHA-142316-stepsecurity-remediationfrom
fix/gha-node24-upgrade
Jul 21, 2026
Merged

ci: upgrade checkout/setup-node to Node 24 (v5)#4
daniel-xbow merged 2 commits into
chore/GHA-142316-stepsecurity-remediationfrom
fix/gha-node24-upgrade

Conversation

@xbow-bot

Copy link
Copy Markdown

Summary

Moves the CI workflow off the deprecated Node.js 20 runtime by upgrading the GitHub Actions to their Node 24 (v5) releases:

  • actions/checkout v3.6.0v5.0.1
  • actions/setup-node v3.9.1v5.0.0

SHA pins are retained and updated to the corresponding v5 commit SHAs, preserving the pinning introduced by the open 'CI/CD Security Improvements with Step Security' PR. This PR is stacked on top of that branch (chore/GHA-142316-stepsecurity-remediation) so the harden-runner step and permissions: block are kept — it complements, rather than duplicates, that work.

Verification

  • Workflow YAML parses (yaml.safe_load).
  • v5 tags resolved to commit SHAs via the GitHub API (lightweight tags → commit).

Generated by Claude Code Service (see job).
Respond to this PR with the prefix "Claude: " to trigger an action on this PR.

Bumps actions/checkout from v3.6.0 to v5.0.1 and actions/setup-node
from v3.9.1 to v5.0.0, moving off the deprecated Node.js 20 runtime.
SHA pins are retained (updated to the v5 commit SHAs). Built on top of
the 'CI/CD Security Improvements with Step Security' PR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@daniel-xbow

Copy link
Copy Markdown

Claude: why do these build_nodejs tests fail? fix.

Restore the BuildKit test-skip guard that exists on master (PR #3) but
was missing on this branch, which descended from a pre-PR#3 state via the
fix-memory-leak merge. The external dockerode suite's BuildKit integration
tests ("should follow BuildKit build progress", "should build image with
buildKit") time out after 60s in CI and are known-flaky; master already
excludes them on the 14/16/18/19 lanes. This makes build_nodejs green while
keeping the Node 24 SHA-pinned checkout/setup-node upgrades.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@xbow-bot

Copy link
Copy Markdown
Author

Fixed the failing build_nodejs tests

Root cause: The failures were not in this PR's action-version bump nor in docker-modem's own tests (those pass — 18 passing). They occurred in the Dockerode test suite step, where two known-flaky BuildKit integration tests in the external dockerode repo time out after 60s:

  • #followProgress › should follow BuildKit build progress
  • #docker › should build image with buildKit

master already guards against these via a skip conditional (added in PR #3), but this branch descends from a pre-PR#3 state (through the fix-memory-leak merge) and had lost that guard, so all four matrix lanes ran the flaky BuildKit tests and failed.

Fix: Restored master's exact BuildKit-skip conditional in the Dockerode test suite step so the 14.x/16.x/18.x/19.x lanes exclude the BuildKit tests (--grep "buildKit|BuildKit" --invert):

if [ "${{ matrix.node-version }}" = "14.x" ] || ... ; then
  npm test -- --grep "buildKit|BuildKit" --invert
else
  npm test
fi

The Node 24 SHA-pinned actions/checkout@v5.0.1 and actions/setup-node@v5.0.0 upgrades and the harden-runner step are untouched. Workflow YAML validated (parses OK) and docker-modem's own test suite passes locally.

Generated by Claude Code Service (see job).

@daniel-xbow
daniel-xbow merged commit c895e4d into chore/GHA-142316-stepsecurity-remediation Jul 21, 2026
9 checks passed
@daniel-xbow
daniel-xbow deleted the fix/gha-node24-upgrade branch July 21, 2026 15:02
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