diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 000000000..941caa946 --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,34 @@ +name: benchmark +on: + pull_request: # for testing + push: + branches: + - main + +jobs: + benchmark: + runs-on: ubuntu-latest + permissions: + # For benchmark-action comment-always + pull-requests: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version-file: 'go.mod' + cache: true + - run: make bench + env: + HEAD_REF: ${{ env.GITHUB_REF_NAME }} + - uses: actions/cache@v4 + with: + path: ./cache + key: ${{ runner.os }}-benchmark + - uses: benchmark-action/github-action-benchmark@v1.20.1 + with: + tool: 'go' + output-file-path: test-results/benchmark-results-${{ env.GITHUB_REF_NAME }}.txt + external-data-json-path: ./cache/benchmark-data.json + github-token: ${{ secrets.GITHUB_TOKEN }} + comment-always: true + summary-always: true