Bump to 0.4.5 #44
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] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: mlugg/setup-zig@v2 | |
| with: | |
| version: 0.15.2 | |
| - name: Install binaryen (wasm-opt) | |
| run: sudo apt-get install -y binaryen | |
| - name: Install | |
| run: bun install | |
| - name: Build | |
| run: bun run build | |
| - name: Test | |
| run: bun run test | |
| - name: Install Playwright browsers | |
| run: npx playwright install --with-deps chromium | |
| - name: Test — Worker Transferable (Playwright) | |
| run: npx playwright test --config test/browser/playwright.config.ts | |
| benchmark: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: mlugg/setup-zig@v2 | |
| with: | |
| version: 0.15.2 | |
| - name: Install binaryen (wasm-opt) | |
| run: sudo apt-get install -y binaryen | |
| - name: Install | |
| run: bun install | |
| - name: Build | |
| run: bun run build | |
| - name: Install bench dependencies | |
| run: cd bench/ai-parsers && bun install | |
| - name: Benchmark — Parse & Stream | |
| run: | | |
| timeout 300 bun --expose-gc bench/parse-stream.mjs 2>&1 | tee /tmp/bench-parse.txt || echo '⏱ Exceeded 5 min timeout' >> /tmp/bench-parse.txt | |
| - name: Benchmark — Time to First Action | |
| run: | | |
| timeout 300 bun --expose-gc bench/time-to-first-action.mjs 2>&1 | tee /tmp/bench-ttfa.txt || echo '⏱ Exceeded 5 min timeout' >> /tmp/bench-ttfa.txt | |
| - name: Benchmark — AI SDK Comparison | |
| run: | | |
| cd bench/ai-parsers && timeout 300 bun --expose-gc bench.mjs 2>&1 | tee /tmp/bench-ai.txt || echo '⏱ Exceeded 5 min timeout' >> /tmp/bench-ai.txt | |
| - name: Benchmark — Deep Compare | |
| run: | | |
| timeout 300 node --expose-gc bench/deep-compare.mjs 2>&1 | tee /tmp/bench-deep-compare.txt || echo '⏱ Exceeded 5 min timeout' >> /tmp/bench-deep-compare.txt | |
| - name: Install Playwright browsers | |
| run: npx playwright install --with-deps chromium | |
| - name: Benchmark — Worker Transfer vs Clone (Playwright) | |
| run: | | |
| npx playwright test --config bench/browser/playwright.config.ts 2>&1 | tee /tmp/bench-worker.txt || true | |
| - name: Post benchmark results to summary | |
| if: always() | |
| run: | | |
| echo '## Benchmark Results' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '<details><summary>Parse & Stream</summary>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat /tmp/bench-parse.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo 'No output'>> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo '</details>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '<details><summary>Time to First Action</summary>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat /tmp/bench-ttfa.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo 'No output' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo '</details>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '<details><summary>AI SDK Comparison</summary>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat /tmp/bench-ai.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo 'No output' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo '</details>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '<details><summary>Deep Compare</summary>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat /tmp/bench-deep-compare.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo 'No output' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo '</details>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '<details><summary>Worker Transfer vs Clone (Browser)</summary>' >> $GITHUB_STEP_SUMMARY | |
| echo '' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat /tmp/bench-worker.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo 'No output' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo '</details>' >> $GITHUB_STEP_SUMMARY |