X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=.github%2Fworkflows%2Fbenchmark.yml;h=393dc941b9a12f03cbbb683cca17155f4a916d99;hb=9c15b7f27cfe42e13607a3f6048161cf682c4504;hp=1acc184fbc18d89461c6d82aa350e95660d4f545;hpb=3fd16705fb5f38d8545b08f7fed5c07b4feaeb17;p=poolifier.git diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1acc184f..393dc941 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -2,38 +2,44 @@ name: Benchmark on: workflow_dispatch: + push: + branches: + - master + +permissions: + contents: write + deployments: write jobs: internal-benchmark: - strategy: - matrix: - os: [windows-latest, macos-latest, ubuntu-latest] - node: ['16.x', '18.x', '20.x'] - - name: Internal benchmark with Node.js ${{ matrix.node }} on ${{ matrix.os }} - - runs-on: ${{ matrix.os }} - + if: github.repository == 'poolifier/poolifier' + name: Internal benchmark + runs-on: [self-hosted, internal-benchmark] steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup pnpm uses: pnpm/action-setup@v2 with: version: 8 - - - name: Setup Node.js ${{ matrix.node }} + - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node }} + node-version: '18.x' cache: 'pnpm' - - - name: Install + - name: Install dependencies run: pnpm install --ignore-scripts - - - name: Production Build - run: pnpm build:prod - - - name: Benchmark - run: pnpm benchmark + - name: Run production benchmark + run: pnpm benchmark:prod | tee ./benchmarks/internal/output.txt + - name: Store production benchmark result + uses: benchmark-action/github-action-benchmark@v1 + with: + name: Internal benchmark + tool: 'benchmarkjs' + output-file-path: ./benchmarks/internal/output.txt + github-token: ${{ secrets.BENCHMARK_RESULTS_TOKEN }} + auto-push: true + alert-threshold: '200%' + comment-on-alert: true + fail-on-alert: true + gh-repository: 'github.com/poolifier/benchmark-results'