Repository navigation
ci: GitHub Actions majors for Node 24 (checkout v7, upload/download-artifact v7/v8, setup-python v7, setup-node v7, cache v6, github-script v9) - #155
Merged
Conversation
…setup-python v7, setup-node v7, cache v6, github-script v9)
Every CI run on main annotates "Node.js 20 is deprecated. The following
actions target Node.js 20 but are being forced to run on Node.js 24" for
checkout@v4, upload-artifact@v4, setup-python@v5 and cache@v4. The current
majors run on Node 24 natively. 43 uses: lines in 13 workflows, majors
only as before; nothing else changes.
Checked against each major's release notes for this repo's usage:
download-artifact v5's path change is for downloads by id (ours is by
name); checkout v6 keeps the token outside .git/config, and every
commit-back step runs git on the runner, not in a container; checkout v7
blocks fork checkouts only under pull_request_target / workflow_run
(unused); github-script v9 drops require('@actions/github'), and both
scripts use require('fs') and github.rest only; setup-node v5's automatic
npm caching needs a package.json, which the preview workflow creates after
setup-node; setup-python v7 removes the unused pip-install input. All jobs
run on GitHub-hosted ubuntu-latest / ubuntu-24.04 (runner >= 2.327.1).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The action upgrades are compatible with existing workflow usage, and no blocking issues were identified.
No open issues 🎉
What changed in this PR
Updates GitHub Actions to majors that run natively on Node 24, addressing CI deprecation warnings without changing workflow logic.
Changes:
- Updates 43 action references across 13 workflows.
- Refreshes the generated structural-analysis log with the latest run metadata.
| File | Description |
|---|---|
| LifeTrac-v25/DESIGN-STRUCTURAL/STRUCTURAL_ANALYSIS_LOG.md | Refreshes analysis run metadata. |
| .github/workflows/openscad-structural-analysis.yml | Updates checkout, artifact upload, and PR scripting. |
| .github/workflows/openscad-render.yml | Updates checkout, artifact upload, and PR scripting. |
| .github/workflows/openscad-collision-check.yml | Updates checkout, Python setup, and artifact upload. |
| .github/workflows/l072-bench-md5.yml | Updates checkout, toolchain caching, and artifact upload. |
| .github/workflows/generate-web-controller-preview.yml | Updates checkout, Node setup, and screenshot upload. |
| .github/workflows/generate-utu-animation-gif.yml | Updates checkout and animation upload. |
| .github/workflows/generate-part-svgs.yml | Updates checkout and SVG upload. |
| .github/workflows/generate-part-drawings.yml | Updates checkout, Python setup, and artifact transfers. |
| .github/workflows/generate-jig-previews.yml | Updates checkout and render upload. |
| .github/workflows/generate-cnclayout-svg.yml | Updates checkout. |
| .github/workflows/generate-assembly-png.yml | Updates checkout and assembly image upload. |
| .github/workflows/generate-animation-gif.yml | Updates checkout and animation upload. |
| .github/workflows/arduino-ci.yml | Updates checkout, Python setup, and firmware upload. |
Review effort: Balanced
The job arrived on main after this branch was cut; with it, all 44 uses: lines in the 13 workflows are on the Node 24 majors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Every CI run on
mainannotates: "Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4 …" (alsoupload-artifact@v4,setup-python@v5,cache@v4). The current majors run on Node 24 natively.What
44
uses:lines in 13 workflows (43 at first, plus the X8 recovery shell-scripts job that #153 added toarduino-ci.yml; main merged in), majors only as before, nothing else changed:Checked against each major's release notes, for this repo's usage
generate-part-drawingsdownloads by name. v8 fails on a digest mismatch by default (was a warning)..git/config; every commit-back step here runsgit pushdirectly on the runner, never in a container. v7 blocks fork checkouts underpull_request_target/workflow_run, which no workflow uses.require('@actions/github'); both scripts userequire('fs')andgithub.restonly.package.json;generate-web-controller-previewrunsnpm initafter setup-node, so none exists at that point.pip-installinput. cache v6 and upload-artifact v7 are Node 24 / ESM moves; upload's newarchive: falsemode is opt-in.ubuntu-latest/ubuntu-24.04, above the 2.327.1 runner minimum.What this PR exercises
arduino-ci,l072-bench-md5,generate-part-drawings(upload, then download by name),generate-part-svgs,openscad-collision-check.generate-jig-previews,generate-web-controller-preview(setup-node),openscad-render,openscad-structural-analysis. Their commit-back steps may add a[skip ci]render commit to this branch, as for any push touching their files.github-script@v9. Its PR-comment steps run only onpull_requestevents of the two openscad workflows, whose PR path filters exclude workflow files; the script bodies were read instead.🤖 Generated with Claude Code