feat(tokens): enhance orange theme with modern recipe platform aesthetics and WCAG AA+ compliance #305
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| # Cancel in-progress runs on new pushes to the same PR/branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci --prefer-offline --no-audit --no-fund | |
| - name: Run linter | |
| run: npm run lint | |
| - name: Run style linter | |
| run: npm run lint:style | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci --prefer-offline --no-audit --no-fund | |
| - name: Run tests | |
| run: npm run test | |
| - name: Run build | |
| run: npm run build | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-files | |
| path: dist/ | |
| retention-days: 7 | |
| design-system-scan: | |
| runs-on: ubuntu-latest | |
| needs: [lint, test] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci --prefer-offline --no-audit --no-fund | |
| # - name: Get Playwright version | |
| # id: playwright-version | |
| # run: echo "version=$(npm list @playwright/test --depth=0 --json | jq -r '.dependencies."@playwright/test".version')" >> $GITHUB_OUTPUT | |
| # - name: Cache Playwright browsers | |
| # uses: actions/cache@v4 | |
| # id: playwright-cache | |
| # with: | |
| # path: ~/.cache/ms-playwright | |
| # key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }} | |
| # - name: Install Playwright browsers | |
| # if: steps.playwright-cache.outputs.cache-hit != 'true' | |
| # run: npx playwright install --with-deps chromium | |
| - name: Cache Storybook build | |
| uses: actions/cache@v4 | |
| with: | |
| path: storybook-static | |
| key: storybook-${{ runner.os }}-${{ hashFiles('src/**/*', '.storybook/**/*', 'package-lock.json') }} | |
| restore-keys: | | |
| storybook-${{ runner.os }}- | |
| - name: Build Storybook | |
| run: npm run build-storybook | |
| env: | |
| NODE_ENV: production | |
| # Skip font loading and optimize for CI | |
| CI: true | |
| NODE_OPTIONS: '--max-old-space-size=4096' | |
| # Disable source maps for faster builds | |
| GENERATE_SOURCEMAP: false | |
| - name: Run design system accessibility scan | |
| run: npm run test:a11y | |
| - name: Run design token compliance scan | |
| run: npm run scan:design-system | |
| - name: Upload design system scan results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: design-system-scan-results | |
| path: | | |
| test-results/ | |
| retention-days: 7 | |
| # - name: Run visual regression tests | |
| # run: npx playwright test --workers=2 | |
| # env: | |
| # CI: true | |
| # - name: Upload design system scan results | |
| # uses: actions/upload-artifact@v4 | |
| # if: always() | |
| # with: | |
| # name: design-system-scan-results | |
| # path: | | |
| # test-results/ | |
| # playwright-report/ | |
| # retention-days: 30 | |
| # - name: Upload accessibility test results | |
| # uses: actions/upload-artifact@v4 | |
| # if: always() | |
| # with: | |
| # name: accessibility-test-results | |
| # path: | | |
| # test-results/design-system-results.json | |
| # test-results/design-system-results.xml | |
| # retention-days: 30 |