Docs and Storybook Pipeline
This pipeline ships the docs site and the UI Storybook. It uses path filtering to avoid unnecessary runs and separates dapp lint/test from docs lint/test.
Triggers and change detection
| Trigger | Details |
|---|---|
| push / pull_request | Runs on main for changes in dapp/** or docs/** |
| workflow_dispatch | Manual run from GitHub Actions UI |
| paths-filter | Sets dapp and docs flags for conditional jobs |
⚠️
Workflow or action file changes alone do not trigger this pipeline. Use workflow_dispatch
when adjusting CI/CD logic.
Job flow
- Change detection:
dorny/paths-filtermarks whether dapp or docs changed. - Storybook lint/test: runs only when dapp changes or manual dispatch.
- Deploy Storybook: main branch only, runs after lint/test if dapp changed.
- Docs lint/test: runs when docs or dapp changes, plus manual dispatch.
- Deploy docs: main branch only, after docs lint/test, and waits for Storybook deploy if it ran.
Workflow Diagram
Storybook details
- Linting uses the shared
run-eslintaction withstrict: true. - Vitest tests run via
run-vitest-testswith Codecov disabled. - Deployment uses the Vercel CLI directly and publishes a prebuilt Storybook output in
.vercel/output.
Docs site details
- Lint and tests run inside the
docsworkspace. - Deployment uses the
vercel-deployaction inprebuiltmode (CI builds locally for stability).
Docs deploy waits for Storybook deploy if the dapp changed. If Storybook lint/test or deploy fails, docs deploy is blocked. If Storybook did not run, docs deploy proceeds once docs lint/test succeeds.
Remote Vercel builds are still available if we want to switch back (flip mode to
remote in the deploy job).
Required secrets
| Name | Used for |
|---|---|
| VERCEL_TOKEN | Storybook deploy and docs deploy |
| VERCEL_ORG_ID | Storybook deploy and docs deploy |
| VERCEL_PROJECT_ID | Storybook deploy and docs deploy |
Last updated on