v0.3.3 #82
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] | |
| paths: | |
| - 'packages/**' | |
| - '.github/workflows/ci.yml' | |
| - 'scripts/**' | |
| - 'pnpm-lock.yaml' | |
| - '!packages/**/README.md' | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Test Suite | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| # 1 ▸ Checkout code | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # required for git-diff later | |
| # 2 ▸ Set up pnpm | |
| - uses: pnpm/action-setup@v3 | |
| with: | |
| version: 10.12.1 | |
| run_install: false | |
| # 3 ▸ Node + pnpm-store cache | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: pnpm | |
| # 4 ▸ Install deps (deterministic) | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| # 5 ▸ Playwright browser cache ──────────────── | |
| - name: Cache Playwright browsers | |
| id: pw-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('packages/core/package.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Install Playwright browsers (if cache miss) | |
| if: steps.pw-cache.outputs.cache-hit != 'true' | |
| run: pnpm --filter @react-zero-ui/core exec playwright install --with-deps | |
| # 6 ▸ Lint fast, fail fast | |
| - name: Lint | |
| run: pnpm lint | |
| # 7 ▸ Run Build | |
| - name: Run Build | |
| run: pnpm build | |
| # 8 ▸ Run Prepack | |
| - name: Run Prepack | |
| run: pnpm prepack:core | |
| # 9 ▸ Run Install Tarball | |
| - name: Run Install Tarball | |
| run: pnpm i-tarball | |
| # 10 ▸ Run all tests | |
| - name: Run Vite tests | |
| run: pnpm test:vite | |
| - name: Run Next.js tests | |
| run: pnpm test:next | |
| - name: Run unit tests | |
| run: pnpm test:unit | |
| - name: Run CLI tests | |
| run: pnpm test:cli | |
| - name: Run integration tests | |
| run: pnpm test:integration |