Skip to content

CI: "Generate API Docs" workflow is broken — pinned to Node 20 while the site requires Node >=24 #1996

Closed

Description

@claudespice

Problem

The Generate API Docs workflow (.github/workflows/updated_openapi.yml) fails at the Install dependencies step on every PR that touches website/public/openapi.json, so the schema bot never regenerates or pushes the API .mdx files:

npm error `npm ci` can only install packages when your package.json and package-lock.json
npm error are in sync. Please update your lock file with `npm install` before continuing.
npm error Missing: yaml@2.9.0 from lock file

Recent example: https://github.com/spiceai/docs/actions/runs/30194378619/job/89773143124 (PR #1981).

Root cause

It is a Node/npm version mismatch, not actual lockfile drift:

Node Result
website/package.json engines >=24.0 —
build_and_publish.yml (Deploy) 24 (setup-node@v4) passes
updated_openapi.yml (Generate API Docs) 20 (setup-node@v3) fails

website/package-lock.json is lockfileVersion: 3 written by npm 11 (bundled with Node 24). npm 10, bundled with Node 20, resolves the auto-installed peer dependency yaml@^2.4.2 (peer of postcss-load-config, via tailwindcss) differently and reports it as missing from the lock.

Verified locally on the current trunk lockfile with Node 24/npm 11: npm ci --dry-run succeeds and npm install is a no-op, i.e. the lockfile is in sync — only the Node 20 job disagrees.

Fix

Bump the job to Node 24 to match engines and the deploy workflow. This also clears the setup-node@v3 Node 20 runtime deprecation warning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions