actions / upload-artifact

MIT License
3.03k stars 686 forks source link

[feat req] Upgrade action to use node20 #444

Closed erikburt closed 7 months ago

erikburt commented 9 months ago

What would you like to be added?

Upgrade action to use node20

Why is this needed?

https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

Node 16 has reached its end of life, prompting us to initiate its deprecation process for GitHub Actions. Our plan is to transition all actions to run on Node 20 by Spring 2024. We will actively monitor the migration's progress and gather community feedback before finalizing the transition date. Starting October 23rd, workflows containing actions running on Node 16 will display a warning to alert users about the upcoming migration.

What you need to do

For Actions maintainers

Modify your actions to run on Node 20 instead of Node 16. For guidance, refer to the Actions configuration settings .

MikeMcC399 commented 9 months ago

I'm now seeing:

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

in a GitHub-hosted ubuntu-22.04 runner.

The latest version of actions/upload-artifact@v3 (v3.1.3) is still set up for node16:

https://github.com/actions/upload-artifact/blob/a8a3f3ad30e3422c9c7b888a15615d19a852ae32/action.yml#L26-L28

TWiStErRob commented 9 months ago

🤔 the community is telling GitHub that GitHub deprecated Node 16?

actions/checkout did the migration last week: https://github.com/actions/checkout/pull/1436, this repo also has an open PR: https://github.com/actions/upload-artifact/pull/434

joshmgross commented 9 months ago

👋 We've disabled the deprecation warning for now until we can get all of our official actions onto Node 20.

MikeMcC399 commented 9 months ago

@joshmgross

We've disabled the deprecation warning for now until we can get all of our official actions onto Node 20.

It certainly makes sense to disable the warning and coordinate an across-the-board solution set for GitHub's own actions. Otherwise there would be significant wasted user activity looking for solutions which are not available.

konradpabjan commented 7 months ago

We released v4 upload-artifact and download-artifact today! https://github.blog/changelog/2023-12-14-github-actions-artifacts-v4-is-now-generally-available/

With it the action moves over to the node20 (there are a ton of other improvements as well)

v4 is a complete rewrite from scratch that we've been working on for a long time and we were really close to getting it out . Because of GHES customers that use the artifact actions and some compatibility concerns, node20 would require a major new version so we would have to release a new v4 tag. With our new release around the corner there would be a v5 in a very short period of time as well and we didn't want to do that with two new releases.

We're probably going to cut a separate v3-node20 tag in the future since there are some breaking changes with v4 but for now we really want to get people to move to v4

Recommend upgrading to v4 today! 😃

MikeMcC399 commented 7 months ago

@joshmgross

👋 We've disabled the deprecation warning for now until we can get all of our official actions onto Node 20.

Can you say when the deprecation warning will be re-enabled? Are there still other gating factors to be completed?

Edit: The deprecation warning for node16 has been re-enabled, so this question is no longer pending an answer.

joshmgross commented 7 months ago

@takost do you know if we have a timeline we can share for that Node 20 deprecation warning?

AngellusMortis commented 5 months ago

We're probably going to cut a separate v3-node20 tag in the future since there are some breaking changes with v4 but for now we really want to get people to move to v4

@konradpabjan Any update on this? Node 16 is being removed soon and there is quite a lot of work to migrate all of our workflows to support v4.

TWiStErRob commented 5 months ago

@AngellusMortis how do you know when?

AngellusMortis commented 5 months ago

Because I am able to read the article and do basic math:

Our plan is to transition all actions to run on Node 20 by Spring 2024.

"Spring 2024" is less then 2 months away.