build(ci): sync with repo before git commit
[poolifier.git] / .github / workflows / external-benchmark.yml
1 name: External benchmark
2
3 on:
4 workflow_dispatch:
5 schedule:
6 - cron: '0 3 * * *'
7
8 jobs:
9 external-benchmark:
10 if: github.repository == 'poolifier/poolifier'
11 runs-on: [self-hosted, external-benchmark]
12 defaults:
13 run:
14 working-directory: benchmarks/versus-external-pools
15 steps:
16 - name: Checkout
17 uses: actions/checkout@v4
18 - name: Setup pnpm
19 uses: pnpm/action-setup@v2
20 with:
21 version: 8
22 - name: Setup Node.js
23 uses: actions/setup-node@v3
24 with:
25 node-version: '18.x'
26 cache: 'pnpm'
27 - name: Install dependencies
28 run: pnpm install --ignore-scripts
29 - name: Run benchmark
30 if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
31 run: ./bench.sh
32 - name: Commit files
33 if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
34 env:
35 COMMIT_MESSAGE: 'docs: update benchmark versus external pools results'
36 COMMIT_AUTHOR: Benchmark Bot
37 COMMIT_EMAIL: benchmark-bot@users.noreply.github.com
38 run: |
39 git config --local user.name "${{ env.COMMIT_AUTHOR }}"
40 git config --local user.email "${{ env.COMMIT_EMAIL }}"
41 git pull
42 git add BENCH-100000.md BENCH-100000.json
43 git commit -a -m "${{ env.COMMIT_MESSAGE }}"
44 - name: Push changes
45 if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}'
46 uses: CasperWA/push-protected@v2
47 with:
48 token: ${{ secrets.GH_TOKEN_PROTECTED }}
49 branch: ${{ github.event.repository.default_branch }}