From 641d3627faa554b4a0a8ca1741e5acbd19ffaa3c Mon Sep 17 00:00:00 2001 From: Bastien Orivel Date: Fri, 6 Nov 2026 13:06:28 +0100 Subject: [PATCH] Update nodejs to 26 This is a bit more involved than just bumping the version number. First, the taskcluster client only supports one major version of node at a time, so it needs to be bumped at the same time. Second, in their infinite wisdom, the node people stopped shipping corepack and docker images dropped yarn along with it. The remaining options are vendoring 3MB of yarn in the repo, use npm to install corepack to install yarn (Yo dawg, I heard you liked package managers so I put a package manager in your package manager), or not using yarn anymore... We can sidestep this by using `yarn` from alpine right now. It's not ideal because it installs another node version with it and may or may not run on that (who knows...). It makes no difference in the end result, but I hate it... Thankfully `apk` isn't as bad and cleans up nicely on `apk del` so we don't end up with anything extra in the image. --- taskcluster/docker/index-task/Dockerfile | 7 ++++-- taskcluster/docker/index-task/package.json | 4 ++-- taskcluster/docker/index-task/yarn.lock | 28 +++++++++++----------- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/taskcluster/docker/index-task/Dockerfile b/taskcluster/docker/index-task/Dockerfile index c8aac05e2..4f6c073c3 100644 --- a/taskcluster/docker/index-task/Dockerfile +++ b/taskcluster/docker/index-task/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24-alpine@sha256:8a32c8cf649a49915a66e81e7a609223c708d0adabf288ee3f4077d765542f85 +FROM node:26-alpine@sha256:8996bb5821d62a8fd9bb27c1cb07462f3fdce6e47d640c6a881ead0b064ce216 ENV NODE_ENV production RUN mkdir /app @@ -6,6 +6,9 @@ ADD insert-indexes.js /app/ ADD package.json /app/ ADD yarn.lock /app/ WORKDIR /app -RUN yarn --frozen-lockfile && yarn cache clean +RUN apk add --no-cache yarn && \ + yarn --frozen-lockfile && \ + yarn cache clean && \ + apk del yarn ENTRYPOINT ["node"] diff --git a/taskcluster/docker/index-task/package.json b/taskcluster/docker/index-task/package.json index 443ef56ca..bf4fb4b3a 100644 --- a/taskcluster/docker/index-task/package.json +++ b/taskcluster/docker/index-task/package.json @@ -5,9 +5,9 @@ "start": "node index.js" }, "dependencies": { - "@taskcluster/client": "114.0.0" + "@taskcluster/client": "115.0.1" }, "engines": { - "node": "^24" + "node": "^26" } } diff --git a/taskcluster/docker/index-task/yarn.lock b/taskcluster/docker/index-task/yarn.lock index 04d1b3e00..406080d17 100644 --- a/taskcluster/docker/index-task/yarn.lock +++ b/taskcluster/docker/index-task/yarn.lock @@ -43,16 +43,16 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-8.1.0.tgz#00d7b9dc92664550fe933cdcfaa8665bc4111202" integrity sha512-2SX/1jW6CIMAiebvVv5ZInoCEuWQmMyBoJXXGC6Vjakjp/fpxP5eHs7/V6WKuPEIbuK06+VpjH+vjLQhr98rDQ== -"@taskcluster/client@114.0.0": - version "114.0.0" - resolved "https://registry.yarnpkg.com/@taskcluster/client/-/client-114.0.0.tgz#b6b90791b01188f6144472859a5ee2f240e04ea5" - integrity sha512-o4i56pa00B90GYfQ6B/jDBmPmSm+nRYKeW+NYEbxOiTlnhL+sPO7GH9bp6viUXIRHqbv916FzD9ggLi4IrnbrQ== +"@taskcluster/client@115.0.1": + version "115.0.1" + resolved "https://registry.yarnpkg.com/@taskcluster/client/-/client-115.0.1.tgz#857ff13fd1045827dd029b79c92d361fbfaf892b" + integrity sha512-/ViqlfD3WFL/R1ZNQ9zsjzifimsDlUtX6k2cSlbRdLtJu4i/LNZv/n++ZhnGmyswnEbqYru4iAmF/s+lzAuWpg== dependencies: debug "^4.1.1" got "^16.0.0" hawk "^9.0.1" lodash "^4.17.4" - slugid "^5.0.1" + slugid "^6.0.0" taskcluster-lib-urls "^13.0.0" "@types/http-cache-semantics@^4.2.0": @@ -185,12 +185,12 @@ responselike@^4.0.2: dependencies: lowercase-keys "^3.0.0" -slugid@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/slugid/-/slugid-5.0.1.tgz#850c1834de6c2f3e4614836a30c38287e2244457" - integrity sha512-T1QJB+kML/DmjdrX+RjeowCzvbjfwzJEw6bam1ft+yUv+h9/RwAfMpoXqCjxuItrGN7CgtYW/0tMp+UEIZmx4Q== +slugid@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/slugid/-/slugid-6.0.0.tgz#05515e5cb243f9ecd1300033f070282fe4cdb346" + integrity sha512-lcFf9zUXRbdTOVb142GGjd/QoIvFiIS/uFsep11gqz/sQcDpCh2+pCfmB5FlFXDeNHHY3O/b5/qV8VaXIuLhyA== dependencies: - uuid "^9.0.0" + uuid "^14.0.3" tagged-tag@^1.0.0: version "1.0.0" @@ -214,7 +214,7 @@ uint8array-extras@^1.6.0: resolved "https://registry.yarnpkg.com/uint8array-extras/-/uint8array-extras-1.6.0.tgz#ab895526255bddd698e75a02992ee73f1b112ebe" integrity sha512-8iAasVS4wUx0gPLjH8Xtz2PeDzTSiy8QiLGu2DT3X5GU+egFEQhpnbtkehbAwjvDcxIERmCYcysiODFmE3Ud0Q== -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== +uuid@^14.0.3: + version "14.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-14.0.3.tgz#48c9b0dcf5a42d983c23162399eeb9af8b2cc617" + integrity sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==