From 35841bcf108d4fa0c52392aecb96fbf190671d6c Mon Sep 17 00:00:00 2001 From: Luke Kim <80174+lukekim@users.noreply.github.com> Date: Sat, 2 May 2026 16:33:03 -0700 Subject: [PATCH] chore: bump action runtime to Node 24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub deprecated Node 20 actions on 2025-09-19 and will force-default all Node 20 actions to Node 24 on 2026-06-02, with Node 20 removed from the runner on 2026-09-16. Every workflow that uses this action currently gets a deprecation warning. Bump the action runtime now so downstream users stop seeing the warning and we don't get caught when the cutoff hits. Aligned everywhere Node version appears: - action.yml `runs.using: node20` → `node24` - esbuild `--target=node20` → `--target=node24` - `package.json` `engines.node: >=20` → `>=24` - `.nvmrc` `20` → `24` - CI + release workflows `node-version: 20` → `24` - README compatibility notes refer to Node 24 The rebuilt bundle is byte-identical because the source doesn't use any node20-only language or runtime features. Ref: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/ --- .github/workflows/ci.yml | 4 ++-- .github/workflows/release.yml | 2 +- .nvmrc | 2 +- CHANGELOG.md | 3 +++ README.md | 4 ++-- action.yml | 2 +- package.json | 4 ++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c42baf4..c6bc9d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: npm - run: npm ci @@ -56,7 +56,7 @@ jobs: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: npm - run: npm ci - run: npm audit --omit=dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc8e4d4..149f2de 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: npm - run: npm ci diff --git a/.nvmrc b/.nvmrc index 209e3ef..a45fd52 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20 +24 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d62644..bd6474f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- Bump the action runtime from Node 20 to Node 24 (`runs.using: node24`). Node 20 actions are deprecated by GitHub and will be force-defaulted to Node 24 on June 2, 2026, with Node 20 removed from the runner on September 16, 2026. The build target, CI matrix, `engines.node`, and `.nvmrc` are aligned to Node 24. + ## [1.0.0] — 2026-05-02 ### Added diff --git a/README.md b/README.md index dff80e1..1949fe2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Deploy a [Spice.ai Cloud](https://spice.ai) app from any GitHub workflow using O - **One step, full lifecycle** — resolve or create the app, push your `spicepod.yaml`, upsert app secrets, trigger the deployment, and (optionally) wait for it to finish. - **Post-deploy smoke tests** — verify the freshly-deployed runtime answers SQL, NSQL, search, chat-completion, and MCP requests before declaring the workflow green. SQL/NSQL/health probes use the official [`@spiceai/spice` SDK](https://www.npmjs.com/package/@spiceai/spice). - **Tags, region, replicas, channel** — all the dials you'd expect, plus deployment metadata (`branch`, `commit_sha`, `commit_message`) auto-populated from the GitHub event. -- **Cross-platform** — Node 20 JavaScript action; runs on `ubuntu-latest`, `macos-latest`, and `windows-latest` runners. +- **Cross-platform** — Node 24 JavaScript action; runs on `ubuntu-latest`, `macos-latest`, and `windows-latest` runners. ## Quickstart @@ -238,7 +238,7 @@ The Action job step summary records the deployment metadata and a per-probe pass ## Compatibility -- Runs on `ubuntu-latest`, `macos-latest`, and `windows-latest` (Node 20 JavaScript action). +- Runs on `ubuntu-latest`, `macos-latest`, and `windows-latest` (Node 24 JavaScript action). - Bundles the `@spiceai/spice` SDK in HTTP mode — no Apache Arrow Flight gRPC dependencies are required at runtime. - Compatible with self-hosted runners that allow outbound HTTPS to `spice.ai`, `api.spice.ai`, and the regional `*-prod-aws-data.spiceai.io` host. diff --git a/action.yml b/action.yml index 62620b9..155a02f 100644 --- a/action.yml +++ b/action.yml @@ -189,5 +189,5 @@ outputs: description: JSON array of `{ name, ok, durationMs, detail?, error? }` for each runtime probe. runs: - using: node20 + using: node24 main: dist/index.js diff --git a/package.json b/package.json index 588ea07..4ef3601 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,10 @@ "url": "https://github.com/spicehq/spice-cloud-deploy-action.git" }, "engines": { - "node": ">=20" + "node": ">=24" }, "scripts": { - "build": "esbuild src/main.ts --bundle --platform=node --target=node20 --outfile=dist/index.js --sourcemap --minify", + "build": "esbuild src/main.ts --bundle --platform=node --target=node24 --outfile=dist/index.js --sourcemap --minify", "lint": "biome check src __tests__", "format": "biome format --write src __tests__", "test": "vitest run",