Skip to content

ci: Node 22, Storybook runner pin, oasdiff install, typed nullable schemas - #61

Open
stmh wants to merge 2 commits into
mainfrom
ci/node-22
Open

stmh wants to merge 2 commits into
mainfrom
ci/node-22

Conversation

@stmh

@stmh stmh commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

CI is red on main and on every PR. Four independent causes, one commit each:

  1. Node 22. pnpm install fails on Node 20:
    ERR_PNPM_UNSUPPORTED_ENGINE  Your Node version is incompatible with "postcss-html@2.0.0(postcss@8.5.29)".
    Expected version: ^22.12 || >=24
    
    All five workflows move from '20' to '22'; the Dockerfiles already use node:22-alpine. The package's engines stays >=20: postcss-html comes in through the stylelint toolchain and does not constrain consumers.
  2. Storybook runner. ubuntu-latest is now 26.04, where Playwright cannot install Chromium (Playwright does not support chromium on ubuntu26.04-x64). The Storybook job pins ubuntu-24.04.
  3. oasdiff. Its install script now puts the binary in /usr/local/bin itself, so the workflow's sudo mv oasdiff /usr/local/bin/ failed. Replaced by oasdiff --version.
  4. OpenAPI lint. Redocly's struct rule: nullable needs a sibling type. PlaygroundChatBinding.history and WorkflowPlayground.chat (both allOf + nullable) gain type: object; bundled.yaml regenerated. pnpm run lint in apps/api-docs passes locally.

Unblocks #59 and #60, which are rebased onto this.

https://claude.ai/code/session_01XR2k7eeSeAKTuptqh4uyee

postcss-html 2.0.0 (via the stylelint toolchain) requires Node ^22.12 or
>=24, so pnpm install fails with ERR_PNPM_UNSUPPORTED_ENGINE on Node 20
and every lint, bundle and storybook job is red, on main and on every PR.
The Dockerfiles already build on node:22. The package's engines field
stays >=20: the requirement is a dev-toolchain one.

Claude-Session: https://claude.ai/code/session_01XR2k7eeSeAKTuptqh4uyee
…schemas

- Storybook: ubuntu-latest is now 26.04, where Playwright cannot install
  Chromium. Pin ubuntu-24.04.
- oasdiff's install script now installs to /usr/local/bin itself; the
  following mv found nothing and failed the job.
- OpenAPI lint: nullable needs a sibling type (struct rule). The two
  allOf + nullable properties on PlaygroundChatBinding and
  WorkflowPlayground gain type: object.

Claude-Session: https://claude.ai/code/session_01XR2k7eeSeAKTuptqh4uyee
@stmh stmh changed the title ci: run workflows on Node 22 ci: Node 22, Storybook runner pin, oasdiff install, typed nullable schemas Oct 23, 2026

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant