● Design systems
June 2026 · CI tooling
Visual regression for Superbloom.
Superbloom stories are the visual contract for this site. I added Argos so every pull request gets screenshot comparisons in light and dark mode before changes land. This post is the workflow record. Setup details live in the visual testing guideline.
Scope
Superbloom Storybook stories
Stack
Storybook, Vitest, Playwright, Argos
Coverage
Light and dark mode per story
Trigger
GitHub Actions on pull requests and main
Why add it
Superbloom already had Storybook stories and a Vercel deploy. Visual regression closes the loop so token and pattern changes do not slip through unnoticed.
Light and dark both matter here. A spacing tweak can look fine in one theme and wrong in the other.
The same stories power docs, the pattern library, and CI. One source of truth for how components should look.
What it is not
Argos does not replace Storybook for exploration or the Vercel deploy for browsing. It runs in CI, compares screenshots to approved baselines, and blocks merges when pixels change unexpectedly.
How it works
Each story renders in a real browser during CI. Argos does not pull from the public Storybook URL. It renders stories directly, which keeps results consistent.
01
Render in CI
Vitest runs each Storybook story in headless Chromium. Argos captures a screenshot after the story renders.
02
Compare to baselines
Uploads land in Argos with separate baselines per mode. Pixel changes surface on the pull request before merge.
03
Review and approve
Intentional visual updates get approved in the review UI. The GitHub check passes once diffs are resolved.
Screenshots
Exports from Argos and GitHub. Click to enlarge.
What shipped
- Argos Vitest plugin wired into the existing Storybook test project
- Light and dark modes via Storybook globals in .storybook/modes.ts
- GitHub Actions workflow: visual tests, Storybook build, deploy
- Guideline doc under Superbloom for pipeline and local commands
Repo entry points
- vite.config.ts argosVitestPlugin
- .storybook/modes.ts light + dark
- .github/workflows/argos.yml CI workflow