update bundle-compare thresholds #108
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: Performance benchmarks | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| perf: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bundle: [lite, minimal, basic] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright Chromium | |
| run: pnpm exec playwright install chromium | |
| - name: Run perf benchmark (${{ matrix.bundle }}) | |
| run: | | |
| if [ "${{ matrix.bundle }}" = "minimal" ]; then | |
| pnpm run perf | |
| elif [ "${{ matrix.bundle }}" = "basic" ]; then | |
| pnpm run perf:basic | |
| else | |
| pnpm run perf:lite | |
| fi | |
| - name: Upload perf report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: perf-${{ matrix.bundle }} | |
| path: perf/results/ | |
| bundle-compare: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Compare bundle sizes (fork vs upstream) | |
| run: node perf/bundle-compare/compare.mjs | |
| demo-e2e: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright Chromium | |
| run: pnpm exec playwright install chromium | |
| - name: Build demo apps | |
| run: node demo/build.mjs | |
| - name: Run demo E2E tests | |
| run: node demo/test.mjs | |
| - name: Test ESM imports through lib/ | |
| run: node tasks/test_esm_import.mjs | |
| dist-smoke: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright Chromium | |
| run: pnpm exec playwright install chromium | |
| - name: Build all bundles | |
| run: pnpm run build | |
| - name: Smoke test dist bundles | |
| run: node tasks/test_dist_bundles.mjs |