Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteSearch workflow files for every uses: entry, then check the exact action version or ref each workflow selects. For JavaScript actions, the decisive marker is runs.using: node20 in the action’s metadata—not the node-version you set with actions/setup-node. GitHub removed Node 20 from Actions runners on September 23, 2026, so affected actions must move to a release that supports Node 24.
What to look for in an action
A JavaScript action declares its runtime in its action.yml or action.yaml manifest, under runs.using. GitHub’s metadata reference maps node20 to Node.js v20 and node24 to Node.js v24. The action’s main, pre, and post JavaScript entry points use the runtime selected there.
This is separate from the Node version installed for commands in a job. actions/setup-node configures Node for those commands; changing its node-version does not change another action’s runs.using declaration.
Inventory action references in your workflows
From the repository root, search workflow files for uses: entries:
#1 Best Overall
rg -n --glob '*.yml' --glob '*.yaml' 'uses:' .github/workflows .github/actions
Review the results for external actions such as owner/repository@ref and local action paths. The ref may be a major tag, a full version tag, or a commit SHA; it is the selected ref—not simply the action’s repository name—that determines which metadata and code the workflow runs.
Check local JavaScript action manifests
Search for local action manifests that declare Node 20:
Rank #2
rg -n --glob 'action.yml' --glob 'action.yaml' 'using:s*["'"']?node20' .
This is a practical text-search first pass, not a GitHub-provided scanner or proof that every action has been checked. Quoting and YAML formatting can affect a match, and manifests may be generated or stored outside the searched paths. For each local JavaScript action, open its action.yml or action.yaml and verify the runs.using value directly.
Verify external actions at the referenced ref
For each external action in the inventory, inspect the action metadata at the exact ref used in the workflow. A newer release may support Node 24 even if the pinned ref does not. GitHub recommends updating to the latest action versions that support Node 24; its September 23, 2026 announcement says runners now use Node 24 for JavaScript actions.
Rank #3
Workflow-run deprecation annotations can also identify a named action version GitHub has flagged. Update the workflow ref to a Node 24-compatible release, then rerun affected workflows to confirm the change. Do not infer compatibility from an action’s name or the job’s configured Node version.
Classify the action before choosing a fix
GitHub’s action metadata distinguishes JavaScript actions, which declare a runtime, from composite and Docker actions. The runs.using: node20 check applies to JavaScript action metadata; do not treat every uses: entry as if it contained that field.
Rank #4
- Local JavaScript action you maintain: Change
runs.usingtonode24, validate the action’s code and supported environments, and publish a new release for workflow users. - External JavaScript action: Select a release or ref whose metadata supports Node 24; change the workflow reference and rerun the affected workflow.
- Composite or Docker action: Check its own action type and implementation rather than looking for a JavaScript runtime declaration that may not apply.
Check self-hosted runner compatibility
Node 24 is incompatible with macOS 13.4 and earlier and does not officially support ARM32. GitHub says self-hosted runners using those environments or architectures are no longer supported for this runtime change. Its final notice applies to both github.com and GitHub with Data Residency. If you use self-hosted runners, include their operating system and architecture in the audit, not just the workflow files.
Migration dates and the ended opt-out
| Date | What changed |
|---|---|
| June 16, 2026 | GitHub began using Node 24 by default for JavaScript actions, according to its Node 20 deprecation announcement, which was updated with the rollout date. |
| September 23, 2026 | GitHub announced that Node 20 was no longer available on Actions runners. The temporary ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION opt-out is no longer available, according to the final removal notice. |
What a repository search can and cannot prove
Searching your workflow files and local manifests gives you a useful inventory, but it does not establish that every dependency is compatible. Check the metadata at each external action’s selected ref, review relevant workflow-run annotations, and account for self-hosted runner environments. The official sources describe the runtime marker and removal, but do not establish an exhaustive scanner that resolves every nested or dynamically selected action dependency.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




