ncipollo / release-action

An action which manages a github release

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node 20 dependency breaks older runners

rvinzent opened this issue · comments

Describe the bug

The action now seems to depend on node 20 due to the node 16 deprecation, but the upgrade is a breaking change for older runners and should have been released under a new major version to keep legacy runners functioning.

Error:

/home/ec2-user/actions-runner/externals/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /home/ec2-user/actions-runner/externals/node20/bin/node)
/home/ec2-user/actions-runner/externals/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /home/ec2-user/actions-runner/externals/node20/bin/node)

Relevant: actions/checkout#1590

To Reproduce
Steps to reproduce the behavior:
(adapted from the referenced issue)

  1. Use an older container like ubuntu:18. Even standard python images are incompatible (e.g. python:3.11)
  2. this action is now unusable

Expected behavior:

Breaking changes should be released as a v2 action. This action is now unusable in its current state for many runners and common container images.

UPDATE with Workaround:

(for those finding there way here)

Can use a specific commit in your GHA spec. It appears the last working version for Node<20 was at 4c75f0f

Use the below line:

        uses: ncipollo/release-action@4c75f0f2e4ae5f3c807cf0904605408e319dcaac

It's possible v1.11 can be specified as well, but I haven't tested it. Make sure to add a comment explaining why a specific commit/minor version reference would ever be needed in the first place, so you don't forget to remove this workaround later!

The min node version supported by Github is updating to node 20 soon - see https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

I understand the argument that this should have been a major version bump, however I think the majority of the folks who use this action are not using custom runners (or are using customer runners which have been updated). Ideally for most users they should see no change in behavior to their workflows besides the warning being resolved. If I made a major version change then all of those people would need to update their workflows to remove this warning (or worse, be forced to make an update when Github drops support completely for node 16).