perf: switch to bencher for benchmarking
[poolifier.git] / .github / workflows / internal-benchmark.yml
1 name: Internal benchmark
2
3 on:
4 workflow_dispatch:
5 push:
6 branches:
7 - master
8
9 jobs:
10 internal-benchmark:
11 if: github.repository == 'poolifier/poolifier'
12 runs-on: [self-hosted, internal-benchmark]
13 env:
14 BENCHER_PROJECT: poolifier
15 BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
16 BENCHER_ADAPTER: js_benchmark
17 BENCHER_TESTBED: self-hosted
18 steps:
19 - name: Checkout
20 uses: actions/checkout@v4
21 - name: Setup pnpm
22 uses: pnpm/action-setup@v2
23 with:
24 version: 8
25 - name: Setup Node.js
26 uses: actions/setup-node@v3
27 with:
28 node-version: '20.x'
29 cache: 'pnpm'
30 - name: Install dependencies
31 run: pnpm install --ignore-scripts --frozen-lockfile
32 - uses: bencherdev/bencher@main
33 - name: Run production benchmark
34 run: |
35 bencher run \
36 --if-branch "$GITHUB_REF_NAME" \
37 --else-if-branch "$GITHUB_BASE_REF" \
38 --else-if-branch master \
39 --err \
40 --github-actions ${{ secrets.GITHUB_TOKEN }} \
41 "pnpm benchmark:prod"