diff --git a/.github/workflows/build-native.yml b/.github/workflows/build-native.yml index fa34ec94d..c74bc6f70 100644 --- a/.github/workflows/build-native.yml +++ b/.github/workflows/build-native.yml @@ -42,7 +42,7 @@ jobs: name: Build ${{ matrix.platform }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable @@ -101,11 +101,11 @@ jobs: name: Publish platform packages steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v6 with: - node-version: "22" + node-version: "24" registry-url: "https://registry.npmjs.org" - name: Download all artifacts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f93d671dd..5d1dbefc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '24' cache: 'npm' - name: Install dependencies @@ -72,7 +72,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '24' cache: 'npm' - name: Install dependencies diff --git a/.github/workflows/cleanup-dev-versions.yml b/.github/workflows/cleanup-dev-versions.yml index 6c4b4653d..ca8896a20 100644 --- a/.github/workflows/cleanup-dev-versions.yml +++ b/.github/workflows/cleanup-dev-versions.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 registry-url: https://registry.npmjs.org - name: Unpublish old dev versions diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index a2e707882..d18ac7e1e 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 registry-url: https://registry.npmjs.org - name: Install dependencies @@ -76,7 +76,7 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 registry-url: https://registry.npmjs.org - name: Install gsd-pi@dev globally @@ -126,7 +126,7 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 registry-url: https://registry.npmjs.org - name: Run live LLM tests (optional) diff --git a/Dockerfile b/Dockerfile index b6553b9ec..45a18d128 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ # Image: ghcr.io/gsd-build/gsd-ci-builder # Used by: pipeline.yml Dev stage # ────────────────────────────────────────────── -FROM node:22-bookworm AS builder +FROM node:24-bookworm AS builder # Rust toolchain (stable, minimal profile) RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal @@ -24,7 +24,7 @@ RUN node --version && rustc --version && cargo --version # Image: ghcr.io/gsd-build/gsd-pi # Used by: end users via docker run # ────────────────────────────────────────────── -FROM node:22-slim AS runtime +FROM node:24-slim AS runtime # Git is required for GSD's git operations RUN apt-get update && apt-get install -y --no-install-recommends \ diff --git a/package-lock.json b/package-lock.json index 704eeb1a7..d59cdeed6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,14 +57,14 @@ "gsd-cli": "dist/loader.js" }, "devDependencies": { - "@types/node": "^22.0.0", + "@types/node": "^24.12.0", "@types/picomatch": "^4.0.2", "c8": "^11.0.0", "jiti": "^2.6.1", "typescript": "^5.4.0" }, "engines": { - "node": ">=20.6.0" + "node": ">=22.0.0" }, "optionalDependencies": { "@gsd-build/engine-darwin-arm64": ">=2.10.2", @@ -4085,12 +4085,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", - "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "version": "24.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.0.tgz", + "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==", "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/picomatch": { @@ -5001,23 +5001,6 @@ } } }, - "node_modules/electron/node_modules/@types/node": { - "version": "24.12.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.0.tgz", - "integrity": "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/electron/node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "dev": true, - "license": "MIT" - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -8162,9 +8145,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "license": "MIT" }, "node_modules/universal-user-agent": { @@ -9181,6 +9164,23 @@ "tailwindcss": "^4.2.1", "typescript": "^5.9.3" } + }, + "studio/node_modules/@types/node": { + "version": "22.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", + "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "studio/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" } } } diff --git a/package.json b/package.json index 99a8806d9..6de3f03dd 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "configDir": ".gsd" }, "engines": { - "node": ">=20.6.0" + "node": ">=22.0.0" }, "packageManager": "npm@10.9.3", "scripts": { @@ -117,7 +117,7 @@ "zod-to-json-schema": "^3.24.6" }, "devDependencies": { - "@types/node": "^22.0.0", + "@types/node": "^24.12.0", "@types/picomatch": "^4.0.2", "c8": "^11.0.0", "jiti": "^2.6.1",