Skip to content

Upgrade active GitHub Actions off the deprecated Node 20 runtime #6

Description

@dajiaohuang

Reproduction

Open a recent successful workflow run and inspect the annotations/log preamble. GitHub emits:

Node 20 is being deprecated. This workflow is running with Node 24 by default.

Confirmed examples:

Static inspection of all nine active repositories also finds Node-20-era action majors, including actions/checkout@v4, actions/setup-python@v5, actions/setup-node@v4, astral-sh/setup-uv@v4/@v6, actions/upload-pages-artifact@v3, and actions/deploy-pages@v4. GitHub is currently forcing those actions onto Node 24 compatibility mode; the latest upstream action releases now have newer supported majors.

Actual behavior

Every active repository has at least one workflow pinned to an action major that declares the deprecated Node 20 runtime. Successful runs contain compatibility warnings, so a green conclusion currently hides organization-wide runtime debt.

Expected behavior

All active workflows use current Node-24-compatible action majors (or an explicitly documented supported pin) and complete without the forced-runtime deprecation warning.

Impact

The current setup relies on GitHub's temporary compatibility behavior. It creates noisy logs and leaves workflows exposed to breakage when Node 20 actions stop being accepted or lose compatibility under the forced runtime.

Affected repositories

  • SagaSmith-service (ci.yml, nightly-recovery.yml)
  • SagaSmith-dnd-content-library (validate.yml)
  • .github (sync-news.yml)
  • sagasmith-narrative (ci.yml)
  • Sagasmith-dnd (ci.yml)
  • SagaSmith-agent (ci.yml)
  • Sagasmith-coc (ci.yml)
  • Sagasmith-core (ci.yml)
  • SagaSmithAI.github.io (deploy.yml)

Suggested acceptance criteria

  • Upgrade each affected action to a current upstream-supported major after reviewing its migration notes.
  • Keep existing least-privilege workflow permissions and cache behavior.
  • Re-run every affected workflow, including the scheduled recovery and profile-sync paths.
  • Confirm the logs no longer contain the Node 20 forced-runtime warning.
  • Do not add ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION as a workaround.

Audit de-duplication

At filing time, organization-wide searches found no open issue or pull request matching Node 20, Node.js 20, checkout@v5, setup-python@v6, or setup-node@v5.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions