name: CI on: push: branches: [main] pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: CI: true HUSKY: 0 jobs: build: name: Build, typecheck, test, a11y runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: pnpm/action-setup@v4 with: version: 10 - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm - name: Install run: pnpm install --frozen-lockfile - name: Build tokens (Style Dictionary) run: pnpm --filter @managemate/tokens build - name: Build icons run: pnpm --filter @managemate/icons build - name: Build CSS run: pnpm --filter @managemate/css build - name: Build React run: pnpm --filter @managemate/react build - name: Typecheck run: pnpm --filter @managemate/react typecheck - name: Test (Vitest + axe-core) run: pnpm --filter @managemate/react test - name: Lint contraste WCAG AA run: pnpm lint:contrast - name: Build Storybook run: pnpm --filter storybook build - name: Bundle size budget run: pnpm size - name: Upload Storybook artifact if: github.event_name == 'pull_request' uses: actions/upload-artifact@v4 with: name: storybook-static path: storybook/storybook-static retention-days: 7