Closed
Description
Reason: Node.js v16 is EOL on 11/09, refs https://nodejs.dev/en/about/releases/
Agents used for building server native modules:
- centos7-devtoolset8-x64
- centos7-devtoolset8-arm64
Agents used for building client native modules:
- bionic_x64
- bionic_arm64
- bionic_armhf
All of the above agents install Node.js v16 since v18 and higher cannot run in them due to increase in GLIBC version. On the contrary, we are using these agents to maintain GLIBC 2.17 support for our native modules. Path forward to avoid depending on EOL Node.js version,
Client:
- Switch to sysroots from Chromium, refs refactor: use sysroots on linux prod pipeline vscode#192513
- Bump minimum GLIBC >= 2.28
Server:
- Migrate from centos7 to RHEL8 ubi images https://hub.docker.com/u/redhat
- centos8 is EOL
- Switch to use toolchain built with crosstool-ng, target gcc-8 with glibc-2.28 support https://github.com/nodejs/node/blob/v18.x/BUILDING.md#official-binary-platforms-and-toolchains
- Bump minimum GLIBC >= 2.28
- Avoid building server binaries for linux in vscode-node and shift to download from official release since the glibc version matches
TODO:
- Measure the impact of GLIBC version bump