Skip to content

chore(ci): bump release workflow actions to Node 24 before 2026-09-16 deadline #10

@sdsrss

Description

@sdsrss

Context

GitHub is deprecating Node.js 20 on Actions runners per blog post:

  • 2026-06-02 — Node 24 becomes default (actions with a Node 20 wrapper get forced to Node 24 unless opted out)
  • 2026-09-16 — Node 20 removed from runners entirely (any unmigrated action hard-fails)

The v0.12.1 release run surfaced warnings for actions/checkout@v4 and actions/upload-artifact@v4 still bundling Node 20.

Scope

Update .github/workflows/release.yml and .github/workflows/ci.yml:

Current Target Notes
actions/checkout@v4 actions/checkout@v5 Node 24 bundle
actions/upload-artifact@v4 actions/upload-artifact@v5 Node 24 bundle, API-compatible
actions/download-artifact@v4 actions/download-artifact@v5 Node 24 bundle
actions/setup-node@v4 actions/setup-node@v5 Node 24 bundle
dtolnay/rust-toolchain@stable verify upstream has Node 24 release no explicit version tag
Swatinem/rust-cache@v2 verify upstream cache format stable
softprops/action-gh-release@v2 verify upstream has Node 24 release

Acceptance

  • Both workflow runs (release + CI) emit zero Node-20-deprecation warnings
  • One dry-run release against a throwaway tag succeeds end-to-end (publish platform packages to npm + upload assets to GH release)
  • No regression in cache hit rate (Swatinem/rust-cache)

Priority

Not urgent — 5 months of runway. Bundle into the next feature release that touches CI anyway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions