Summary
Standardize Node.js version across all GitHub Actions workflows to Node.js 24, ensuring compatibility with cspell 10.0.0 and other modern npm packages that require Node.js ≥22.18.0.
Background
PR #342 (Dependabot cspell 9.7.0 → 10.0.0) fails in the Documentation Lint / Docs Lint check because cspell 10.0.0 depends on import-fresh v4.0.0, which requires Node.js ≥22.15. The CI runner (ubuntu-latest / Ubuntu 24.04) ships Node.js 20.x by default.
An audit of all 28 workflow files found:
- 3 workflows missing
setup-node entirely (relying on runner default Node 20.x)
- 2 workflows pinned to Node 18
- 1 workflow already on Node 22.x
Changes
| Workflow |
Change |
docs-lint.yml |
Added setup-node with Node 24 |
code-quality-lint.yml |
Added setup-node with Node 24 |
security-scan.yml |
Added setup-node with Node 24 |
pages-deploy.yml |
Upgraded Node 18 → 24 |
docs-automation.yml |
Upgraded Node 18 → 24 (2 jobs) |
cluster-test-terraform.yml |
Upgraded Node 22.x → 24 |
All setup-node steps use the pinned SHA actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v4.3.0.
Acceptance Criteria
Summary
Standardize Node.js version across all GitHub Actions workflows to Node.js 24, ensuring compatibility with cspell 10.0.0 and other modern npm packages that require Node.js ≥22.18.0.
Background
PR #342 (Dependabot cspell 9.7.0 → 10.0.0) fails in the Documentation Lint / Docs Lint check because cspell 10.0.0 depends on
import-freshv4.0.0, which requires Node.js ≥22.15. The CI runner (ubuntu-latest/ Ubuntu 24.04) ships Node.js 20.x by default.An audit of all 28 workflow files found:
setup-nodeentirely (relying on runner default Node 20.x)Changes
docs-lint.ymlsetup-nodewith Node 24code-quality-lint.ymlsetup-nodewith Node 24security-scan.ymlsetup-nodewith Node 24pages-deploy.ymldocs-automation.ymlcluster-test-terraform.ymlAll
setup-nodesteps use the pinned SHAactions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v4.3.0.Acceptance Criteria