veza/.github/workflows/chromatic.yml
senke dfeff836ce feat(ui): add SUMI design system components, seasonal hooks, and i18n updates
Add SumiButton and SumiCanvas components with lavis ink wash aesthetic.
Add useSeason and useTimeOfDay hooks for time-aware UI tinting.
Update storybook config, UI components, locales (en/es/fr), and dependencies.
Add Chromatic CI workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 19:15:54 +02:00

54 lines
1.6 KiB
YAML

# Chromatic: visual regression testing for Storybook.
# Runs on every push/PR that touches the web app.
# Requires CHROMATIC_PROJECT_TOKEN secret in GitHub repo settings.
name: Chromatic
on:
push:
branches: [main, develop]
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
pull_request:
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
workflow_dispatch:
jobs:
chromatic:
name: Visual regression tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # Required for Chromatic to detect changes
- name: Set up Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
working-directory: apps/web
- name: Run Chromatic
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: apps/web
buildScriptName: build-storybook
exitZeroOnChanges: true # Don't fail PR on visual changes, just flag them
exitOnceUploaded: true # Speed up CI — don't wait for full processing
onlyChanged: true # Only snapshot stories affected by changes
externals: |
apps/web/src/**/*.css
apps/web/public/**
env:
VITE_API_URL: /api/v1
VITE_USE_MSW: "true"
VITE_STORYBOOK: "true"