Skip to content

CI: bump actions off the deprecated Node 20 runtime (applies to all four Shell.* repos) #9

Description

@beyondnetPeru

Now that the workflow actually runs (#1), every job emits a deprecation annotation:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/upload-artifact@v4

The runner is currently forcing them onto Node 24, so nothing is broken today — but that forcing is temporary, and the annotation appears on every single run.

Actions to bump

Pinned at a major that ships a Node 20 runtime:

  • actions/checkout@v4
  • actions/cache@v4
  • actions/upload-artifact@v4
  • actions/download-artifact@v4 — used in the publish job, which has not run yet, so it does not show up in the annotation
  • actions/github-script@v7 — used in the release job, same situation

Already current: actions/setup-dotnet@v5. Third-party: softprops/action-gh-release@v2 — check its releases page separately.

Please check each action's releases page and move to the latest major that runs on Node 24, rather than assuming a version number. Bump one action per commit so a regression is easy to bisect.

Same fix needed in three sibling repos

build.yml is copy-pasted across the family, so the identical bump applies to:

Those three carried the same invalid tags: top-level key that #1 fixed here, so their workflows were rejected outright and had never executed. That is being repaired in beyondnetcode/Shell.Bootstrapper#3, beyondnetcode/Shell.ddd#2 and beyondnetcode/Shell.Factory#2wait for those to merge before bumping actions there, or the two changes will conflict in the same file.

Acceptance criteria

  • A CI run on this repo completes with zero Node-20 deprecation annotations.
  • dotnet test still reports 13/13 passing on both ubuntu-latest and windows-latest.
  • The publish and release jobs still parse (actionlint or a dry run on a throwaway tag).

Where

.github/workflows/build.yml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions