build(ci): factor out benchmarking
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 7 Sep 2023 10:35:03 +0000 (12:35 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 7 Sep 2023 10:35:03 +0000 (12:35 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
.github/workflows/benchmark.yml [new file with mode: 0644]
.github/workflows/ci.yml

diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
new file mode 100644 (file)
index 0000000..093c450
--- /dev/null
@@ -0,0 +1,39 @@
+name: Benchmark
+
+on:
+  workflow_dispatch:
+
+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 }}
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Setup pnpm
+        uses: pnpm/action-setup@v2
+        with:
+          version: 8
+
+      - name: Setup Node.js ${{ matrix.node }}
+        uses: actions/setup-node@v3
+        with:
+          node-version: ${{ matrix.node }}
+          cache: 'pnpm'
+
+      - name: Install
+        run: pnpm install --ignore-scripts
+
+      - name: Build
+        run: pnpm build
+
+      - name: Benchmark
+        run: pnpm benchmark
index 718e7ac70127f4c0dc3a2406285dc461fae7716a..be89341ea4b957399db167038a3ea262cac83bcc 100644 (file)
@@ -7,11 +7,6 @@ on:
     types: [opened, synchronize, reopened]
   merge_group:
     branches: [master]
-  workflow_dispatch:
-    inputs:
-      withBenchmark:
-        description: 'With Benchmark?'
-        default: false
 
 jobs:
   build:
@@ -64,7 +59,3 @@ jobs:
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
-
-      - name: Benchmark
-        if: github.event.inputs.withBenchmark
-        run: pnpm benchmark