Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node.js 16 is deprecated #108

Open
AnzhiZhang opened this issue Feb 2, 2024 · 3 comments · May be fixed by #124
Open

Node.js 16 is deprecated #108

AnzhiZhang opened this issue Feb 2, 2024 · 3 comments · May be fixed by #124
Labels
enhancement New feature or request

Comments

@AnzhiZhang
Copy link

Current Behavior

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

Desired Behavior

update the action

Alternative Solutions

No response

Other Information

No response

@AnzhiZhang AnzhiZhang added the enhancement New feature or request label Feb 2, 2024
@Kir-Antipov
Copy link
Owner

Yup, I'm aware of that and am already working on it. Thanks for notifying me anyway!

When GitHub dropped support for Node.js 12, they only gave us the option of porting our actions to the already-a-few-months-from-deprecation Node.js 16. So, instead of porting the project to Node.js 20+ right away, I was forced to waste my time on porting it to Node.js 16 first. What a gosh darn circus...

@shartte shartte linked a pull request Jun 24, 2024 that will close this issue
@tristankechlo
Copy link

Not sure if it's still relevant, but Node16 will reach it's end of life in the Actions runner on the 15th of October 2024.
https://github.blog/changelog/2024-09-25-end-of-life-for-actions-node16/

@Kir-Antipov
Copy link
Owner

This means that runners that explicitly opted out of using Node.js 20 via ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true will break. However, mc-publish didn't (and cannot by itself) opt out of this. In fact, GitHub has been running it on Node.js 20 since the end of this summer, if I recall correctly.

So, don't worry. The action is 100% compatible with the newer frameworks, even with Node22. Even the previous versions are. Some folks are still rocking grossly outdated mc-publish v2 to this day! :D The only things that are broken are the tests and the development environment. As a user, you don't really need to pay any attention to the obnoxious warning that GitHub throws in your face whenever the action runs on Node20.

I'm also slowly working on decoupling mc-publish from GitHub's disastrous Node.js runner, which they tend to deprecate every few months, creating unnecessary panic among users. AKA I'm gonna stuff everything into a Docker container :D In all seriousness, I had planned to finish this for v5, but since v4 is already long overdue and I've almost finished porting the action, I might as well include it in v4. Hopefully, this will be the last version where GitHub makes users worry about deprecated frameworks.

And to anyone who is thinking of creating a GitHub Action and believes that choosing simingly supported out-of-the-box Node.js runner is the easiest and best solution: please, don't repeat my mistakes. The initial ease of deployment will soon be overshadowed by GitHub's nonsensical handling of such scenarios. Don't sacrifice your favorite language and development practices for that. Write your actions however you like, and then just put them in a Docker container. This will save you and your users quite a few headaches.

@Kir-Antipov Kir-Antipov pinned this issue Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants