Skip to content

CI: move off node20-runtime actions before the Sept 23, 2026 removal (branch ready, PR never opened) #92

Description

@coreplane-switchboard

Context

GitHub is removing Node 20 from Actions runners on 2026-09-23. Any JavaScript action still declaring runs.using: node20 stops working then. An org-wide scan found cli is the most affected repo.

A remediation branch was fully prepared and pushed, but the PR was never opened due to a Switchboard repo-resolution bug (tracked in coreplanelabs/switchboard#1034). The work is done — it just needs a PR opened from the existing branch.

The ready branch

  • Branch: ci/node20-runtime-deprecation @ abd9efdd1478a3ace2b1846fc5df3b8e02ae251f
  • Open the PR with: gh pr create --repo coreplanelabs/cli --head ci/node20-runtime-deprecation

What the branch changes

Bumps the three node20-runtime actions to sha-pinned node24 releases (matching the org's sha-pinning convention), across the 4 workflows plus the release pipeline:

Action From To Notes
actions/checkout v4 v7.0.1 node24; persist-credentials still defaults to true, so the cut-release and homebrew-tap git pushes keep working
actions/setup-node v4 v7.0.0 node24; explicit cache: npm kept; the new auto package-manager-cache is inert in install-smoke (no package.json there)
softprops/action-gh-release v2 v3.0.3 node24; same generate_release_notes/files inputs

Validation already done on the branch: actionlint passes; every sha verified against its upstream release tag; the two known traps (checkout credential persistence, setup-node auto-cache) explicitly checked.

Deliberately NOT changed

The node-version: 20.x entries in the test matrix and install-smoke are untouched. setup-node keeps installing Node 20 as a test target after the runner deprecation — that's not what breaks. Node 20 is the CLI's documented support floor (engines: >=20, README "Node 20+", the polylane.com installer check), so raising it to 22 is a separate cross-repo product decision (package.json + README + polylanedotcom installer). Worth a follow-up issue if/when the floor is raised — Node 20 has been EOL since April 2026.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions