diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml new file mode 100644 index 0000000..24938e4 --- /dev/null +++ b/.github/workflows/bench.yml @@ -0,0 +1,34 @@ +name: go continuous benchmark +on: + push: + branches: + - v1 + +permissions: + contents: write + deployments: write + +jobs: + benchmark: + name: Run Go continuous benchmark + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: "stable" + - name: Run benchmark + run: go test -v ./... -bench=. -run=xxx -benchmem | tee output.txt + + - name: Store benchmark result + uses: benchmark-action/github-action-benchmark@v1 + with: + name: Go Benchmark + tool: 'go' + output-file-path: output.txt + github-token: ${{ secrets.GITHUB_TOKEN }} + # Push and deploy GitHub pages branch automatically + auto-push: true + # Show alert with commit comment on detecting possible performance regression + alert-threshold: '200%' + comment-on-alert: true