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

Add node20 execution handler #4240

Closed
wants to merge 1 commit into from
Closed

Conversation

JamieMagee
Copy link
Member

@JamieMagee JamieMagee commented Apr 16, 2023

This change adds support for running tasks using Node 20. Support for Node 16 is ending 6 months earlier than originally advertised, to coincide with the end-of-life of OpenSSL 1.1.11.

The table below shows the versions of Node currently used to run tasks, and their upstream support status2:

Version Released Active Support Ends Security Support Ends
6 2016-04-26 🟥2018-04-30🟥 🟥2019-04-30🟥
10 2018-04-24 🟥2020-05-19🟥 🟥2021-04-30🟥
16 2021-04-20 🟥2022-10-18🟥 🟧2023-09-11🟧
20 2023-04-18 🟩2024-10-24🟩 🟩2026-04-30🟩

An earlier PR, adding support for Node 18, was closed in favour of Node 16 due to Node 18 requiring glibc 2.28, while Ubuntu 18.04 only supplied glibc 2.273. But this is no longer an issue as Ubuntu 18.04 is no longer supported as of 2023-04-034, and Ubuntu 20.04 ships with glibc 2.315.

Related to #4239. Followed #3861 for guidance.

Footnotes

  1. https://nodejs.org/en/blog/announcements/nodejs16-eol

  2. https://endoflife.date/nodejs

  3. https://github.com/microsoft/azure-pipelines-agent/pull/3849#issuecomment-1173989948

  4. https://github.com/actions/runner-images/issues/6002

  5. https://packages.ubuntu.com/source/focal/glibc

@JamieMagee JamieMagee requested review from a team as code owners April 16, 2023 03:41
@JamieMagee
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Commenter does not have sufficient privileges for PR 4240 in repo microsoft/azure-pipelines-agent

@JamieMagee
Copy link
Member Author

Node v20 has now been released: https://nodejs.org/en/blog/release/v20.0.0

@qianz2
Copy link
Contributor

qianz2 commented Jul 6, 2023

Thanks @JamieMagee for supporting node 20, I just had another PR #4344, looks that its duplicated. Are there any plans to check this PR in so that we can update other tasks to node 20 in microsoft/azure-pipelines-tasks#18568 pipelines tasks repo?

@@ -55,10 +55,11 @@ public sealed class NodeHandler : Handler, INodeHandler
private const string nodeFolder = "node";
private const string node10Folder = "node10";
private const string node16Folder = "node16";
private const string node20Folder = "node20";
private const string nodeLTS = node16Folder;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to update nodeLTS?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node 20 isn't considered LTS until 24th October1

Footnotes

  1. https://nodejs.dev/en/about/releases/

@@ -11,6 +11,7 @@ NODE_URL=https://nodejs.org/dist
NODE_VERSION="6.17.1"
NODE10_VERSION="10.24.1"
NODE16_VERSION="16.17.1"
NODE20_VERSION="20.0.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latest node 20 version is now 20.3.1: https://nodejs.org/en/download/current

@JamieMagee
Copy link
Member Author

Closing as #4344 was merged

@JamieMagee JamieMagee closed this Jul 14, 2023
@JamieMagee JamieMagee deleted the node-20 branch July 14, 2023 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants