fix(shared,client,agent): harden vault crowdfunding flow #208
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Design | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| publish_chromatic: | |
| description: "Publish Storybook to Chromatic" | |
| required: false | |
| default: false | |
| type: boolean | |
| push: | |
| branches: [main, develop] | |
| paths: | |
| - "AGENTS.md" | |
| - "CLAUDE.md" | |
| - "DESIGN.md" | |
| - "package.json" | |
| - "bun.lock" | |
| - ".claude/registry/skills.json" | |
| - ".claude/skills/design/**" | |
| - ".claude/skills/ui/**" | |
| - "docs/DESIGN.md" | |
| - "docs/docs/builders/packages/admin.mdx" | |
| - "docs/docs/builders/testing/storybook.mdx" | |
| - "docs/docs/reference/banned-vocabulary.json" | |
| - "packages/admin/AGENTS.md" | |
| - "packages/admin/DESIGN.md" | |
| - "packages/admin/src/**" | |
| - "packages/client/DESIGN*.md" | |
| - "packages/client/src/**" | |
| - "packages/shared/AGENTS.md" | |
| - "packages/shared/package.json" | |
| - "packages/shared/.storybook/**" | |
| - "packages/shared/vitest.storybook.config.ts" | |
| - "packages/shared/src/**" | |
| - "scripts/data/design-token-usage-baseline.tsv" | |
| - "scripts/design/**" | |
| - "scripts/quality/check-story-coverage.ts" | |
| - "scripts/quality/check-story-quality.ts" | |
| - "vercel.json" | |
| - ".github/workflows/design.yml" | |
| pull_request: | |
| branches: [main, develop] | |
| paths: | |
| - "AGENTS.md" | |
| - "CLAUDE.md" | |
| - "DESIGN.md" | |
| - "package.json" | |
| - "bun.lock" | |
| - ".claude/registry/skills.json" | |
| - ".claude/skills/design/**" | |
| - ".claude/skills/ui/**" | |
| - "docs/DESIGN.md" | |
| - "docs/docs/builders/packages/admin.mdx" | |
| - "docs/docs/builders/testing/storybook.mdx" | |
| - "docs/docs/reference/banned-vocabulary.json" | |
| - "packages/admin/AGENTS.md" | |
| - "packages/admin/DESIGN.md" | |
| - "packages/admin/src/**" | |
| - "packages/client/DESIGN*.md" | |
| - "packages/client/src/**" | |
| - "packages/shared/AGENTS.md" | |
| - "packages/shared/package.json" | |
| - "packages/shared/.storybook/**" | |
| - "packages/shared/vitest.storybook.config.ts" | |
| - "packages/shared/src/**" | |
| - "scripts/data/design-token-usage-baseline.tsv" | |
| - "scripts/design/**" | |
| - "scripts/quality/check-story-coverage.ts" | |
| - "scripts/quality/check-story-quality.ts" | |
| - "vercel.json" | |
| - ".github/workflows/design.yml" | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| design-guardrails: | |
| name: Design Guardrails | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Check DesignMD | |
| run: bun run check:design-md | |
| - name: Check generated DesignMD artifacts | |
| run: bun run check:design-generated | |
| - name: Check design tokens | |
| run: bun run check:design-tokens | |
| - name: Check banned vocabulary | |
| run: bun run lint:vocab | |
| storybook: | |
| name: Storybook | |
| runs-on: ubuntu-latest | |
| env: | |
| CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Check story coverage | |
| run: bun run --filter @green-goods/shared check:stories | |
| - name: Check story quality | |
| run: bun run --filter @green-goods/shared check:story-quality | |
| - name: Install Playwright Chromium | |
| run: bunx playwright install --with-deps chromium | |
| - name: Run Storybook interaction smoke tests | |
| run: bun run --filter @green-goods/shared test:stories:ci | |
| - name: Build Storybook | |
| run: bun run --filter @green-goods/shared build-storybook | |
| - name: Upload Storybook artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: storybook-static | |
| path: packages/shared/storybook-static | |
| - name: Publish Storybook to Chromatic | |
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.publish_chromatic && env.CHROMATIC_PROJECT_TOKEN != '' }} | |
| run: bun run --filter @green-goods/shared chromatic -- --exit-zero-on-changes --exit-once-uploaded |