Situation
When .github/workflows/create-node-pr.yml is executed to promote an npm release for packaging into Node.js, the following deprecation warnings are logged:
- a Node.js 20 deprecation warning from GitHub Actions and
- a DEP0040
node:punycode module deprecation warning
Logs
https://github.com/npm/cli/actions/runs/35881707767
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
https://github.com/npm/cli/actions/runs/35881707767/job/107251530925
Run actions/checkout@v3
(node:2429) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Suggestion
Update the template
|
uses: actions/checkout@v3 |
:
- actions/checkout@v3 is an outdated release (originally from Mar 2022) which targets usage on
node16. It is forced to run under node24.
- actions/checkout@v7 is the currenet release which targets usage natively on
node24
Although this is a simple update, I prefer to leave a PR to the npm team, since I'm not able to test PR creation from the npm/cli repo into the nodejs/node end-to-end.
cc: @reggi
Situation
When .github/workflows/create-node-pr.yml is executed to promote an npm release for packaging into Node.js, the following deprecation warnings are logged:
node:punycode moduledeprecation warningLogs
https://github.com/npm/cli/actions/runs/35881707767
https://github.com/npm/cli/actions/runs/35881707767/job/107251530925
Suggestion
Update the template
cli/scripts/template-oss/create-node-pr-yml.hbs
Line 24 in c039090
node16. It is forced to run undernode24.node24Although this is a simple update, I prefer to leave a PR to the npm team, since I'm not able to test PR creation from the npm/cli repo into the nodejs/node end-to-end.
cc: @reggi