name: External benchmark on: workflow_dispatch: schedule: - cron: '0 3 * * *' jobs: external-benchmark: if: github.repository == 'poolifier/poolifier' name: External benchmark runs-on: [self-hosted, external-benchmark] defaults: run: working-directory: benchmarks/versus-external-pools steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v2 with: version: 8 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18.x' cache: 'pnpm' - name: Install dependencies run: pnpm install --ignore-scripts - name: Run benchmark if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}' run: ./bench.sh - name: Commit files if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}' env: COMMIT_MESSAGE: 'docs: update benchmark versus external pools results' COMMIT_AUTHOR: Benchmark Bot COMMIT_EMAIL: benchmark-bot@users.noreply.github.com run: | git config --local user.name "${{ env.COMMIT_AUTHOR }}" git config --local user.email "${{ env.COMMIT_EMAIL }}" git commit -a -m "${{ env.COMMIT_MESSAGE }}" - name: Push changes if: github.ref == 'refs/heads/${{ github.event.repository.default_branch }}' uses: CasperWA/push-protected@v2 with: token: ${{ secrets.GH_TOKEN_PROTECTED }} branch: ${{ github.event.repository.default_branch }}