Browser Support Matrix
OGrid ships two React UI packages (Radix and Fluent), and not every browser check needs to run on every push. The browser contract is split into two layers:
bun run test:e2e:smokeis the fast merge gate that runs on every push and pull request in the mainCIworkflow.- The
Playwright MatrixGitHub workflow runs the broader browser suite across the React + JS example apps only when you dispatch it manually.
Main CI smoke suite
The merge gate is intentionally small. It covers the minimum set of user journeys that should fail the build immediately if they break:
bun run test:e2e:smoke
Projects in the smoke gate:
react-radix
Journeys covered by the smoke suite:
- Grid renders with the shared demo columns and first page of rows
- Sorting changes the visible row order
- Text filtering narrows results and clearing the filter restores the page
- Inline editing commits a new value
This suite is the merge gate because it covers the shared spreadsheet contract through four different rendering stacks without turning every push into a full browser matrix run.
Full Playwright matrix
The manual browser workflow runs the main browser suite against every example app:
npm run test:e2e:matrix
| Package | Playwright project | Example port | Main CI smoke | Full matrix |
|---|---|---|---|---|
@alaarab/ogrid-react-fluent | react-fluent | 3001 | No | Yes |
@alaarab/ogrid-react-radix | react-radix | 3003 | Yes | Yes |
Docs homepage coverage
The docs homepage is verified separately because it runs against the built Docusaurus site under the /ogrid/ base path:
npm run test:e2e:docs
That check currently runs in the Deploy Docs workflow after bun run docs:build.
Interpreting failures
- A smoke suite failure is a release-blocking regression for the shared grid contract.
- A full-matrix failure means one wrapper or example app diverged from the documented behavior and should be audited before the next release.
- A docs homepage failure means the public site or deployment assumptions changed.