From 4ff91193aef68756c613c7c3a753229af27bf8e8 Mon Sep 17 00:00:00 2001 From: droak Date: Tue, 10 Sep 2024 15:30:32 +0900 Subject: [PATCH] add ci benchmark --- .github/workflows/benchmark.yml | 40 +++++++++++++++++++ .../{tests => bench}/causallyrelated.bench.ts | 0 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/benchmark.yml rename packages/object/{tests => bench}/causallyrelated.bench.ts (100%) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 00000000..ddaf2fdb --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,40 @@ +name: Benchmark +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + benchmark: + name: Performance regression check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - name: Run benchmark + run: pnpm run bench --outputJson benchmark.json + - name: Download previous benchmark data + uses: actions/cache@v4 + with: + path: ./cache + key: benchmark + - name: Store benchmark result + uses: benchmark-action/github-action-benchmark@v1 + with: + tool: 'customSmallerIsBetter' + output-file-path: benchmark.json + external-data-json-path: ./cache/benchmark-main.json + fail-on-alert: true + - shell: bash + run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT + id: branch + - name: Store benchmark data + if: steps.branch.outputs.branch == 'main' + run: cp benchmark.json ./cache/benchmark-main.json + + # Push gh-pages branch by yourself + # - name: Push benchmark result + # run: git push 'https://you:${{ secrets.GITHUB_TOKEN }}@github.com/you/repo-name.git' gh-pages:gh-pages diff --git a/packages/object/tests/causallyrelated.bench.ts b/packages/object/bench/causallyrelated.bench.ts similarity index 100% rename from packages/object/tests/causallyrelated.bench.ts rename to packages/object/bench/causallyrelated.bench.ts