From f627672c4988fdb9adcdf026facd14e341550229 Mon Sep 17 00:00:00 2001 From: "Adam Perry @ OpenAI" Date: Fri, 23 Oct 2026 18:45:24 +0000 Subject: [PATCH] Centralize Node.js version selection on 24.22.1 (#57168) ## What changed - Add `.nvmrc` pinning Node.js to `24.22.1` and raise the root package's minimum Node.js version to match. - Use `.nvmrc` in repository checks, SDK CI, and npm packaging and publishing workflows. - Update MCP conformance instructions to use the repository's pinned Node.js version. GitOrigin-RevId: d864875e538de2b99df73e5a03fc870ce0f90cf0 --- .github/workflows/repo-checks.yml | 2 +- .github/workflows/rust-release.yml | 6 +++--- .github/workflows/sdk.yml | 2 +- .nvmrc | 1 + package.json | 2 +- scripts/mcp_conformance/README.md | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 .nvmrc diff --git a/.github/workflows/repo-checks.yml b/.github/workflows/repo-checks.yml index 163e5b0448..8938ea62e8 100644 --- a/.github/workflows/repo-checks.yml +++ b/.github/workflows/repo-checks.yml @@ -57,7 +57,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22 + node-version-file: .nvmrc - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/rust-release.yml b/.github/workflows/rust-release.yml index d6a5f6aaca..d78cbbbf81 100644 --- a/.github/workflows/rust-release.yml +++ b/.github/workflows/rust-release.yml @@ -1579,7 +1579,7 @@ jobs: - name: Setup Node.js for npm packaging uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22 + node-version-file: .nvmrc - name: Install dependencies run: pnpm install --frozen-lockfile @@ -1893,8 +1893,8 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - # Node 24 bundles npm >= 11.5.1, which trusted publishing requires. - node-version: 24 + # Trusted publishing requires the selected Node.js release to include npm >= 11.5.1. + node-version-file: .nvmrc registry-url: "https://registry.npmjs.org" scope: "@openai" diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 4cb081eb94..8a764dbf03 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -64,7 +64,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: 22 + node-version-file: .nvmrc cache: pnpm - name: Prepare Bazel CI diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..ce62013c39 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24.22.1 diff --git a/package.json b/package.json index 1a3194ed23..525cd2009a 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "punycode": "^2.3.1" }, "engines": { - "node": ">=22", + "node": ">=24.22.1", "pnpm": ">=10.34.5" }, "packageManager": "pnpm@10.34.5+sha512.a4ee05f2f73658255bd6a89859c065a45c28a57daefae2c893a168ee2b73168c37b91e83e57ea67654ad03f03031746430e8bce38e362e042605fb8abc80192e" diff --git a/scripts/mcp_conformance/README.md b/scripts/mcp_conformance/README.md index d75aa1f3b8..03ff5849bf 100644 --- a/scripts/mcp_conformance/README.md +++ b/scripts/mcp_conformance/README.md @@ -7,7 +7,7 @@ stdio, OAuth, and additional transport and security regression fixtures. The official upstream suite is pinned to `modelcontextprotocol/conformance@49103de6ed70804e940637bf3e9e29e4a3f54e64`. -Use Node.js 22 and Python 3.10 or later. +Use the Node.js version in the repository's `.nvmrc` and Python 3.10 or later. ## Run the conformance gate