aboutsummaryrefslogblamecommitdiffstats
path: root/.github/workflows/benchmark.yml
blob: 8e768a7a0eb66f1fb2be71d3abf81659b0475b62 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11






                    



                                    










                                                                       

                                 
                            
                                 


                                                                           







                                                              





                                                             
name: Benchmarks
on:
  workflow_dispatch:
  push:
    branches:
      - master

concurrency:
  group: benchmark-${{ github.ref }}
  cancel-in-progress: true

permissions:
  # deployments permission to deploy GitHub pages website
  deployments: write
  # contents permission to update benchmark contents in gh-pages branch
  contents: write

jobs:
  benchmark:
    name: Performance regression check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-go@v3
        with:
          go-version: 1.22.5
      - uses: actions/checkout@v3
      # Run benchmark with `go test -bench` and stores the output to a file
      - name: Run benchmark
        run: go test -v ./... -bench=. -run=xxx -benchmem | tee output.txt
      # Run `github-action-benchmark` action
      - name: Store benchmark result
        uses: benchmark-action/github-action-benchmark@v1
        with:
          # What benchmark tool the output.txt came from
          tool: 'go'
          # Where the output from the benchmark tool is stored
          output-file-path: output.txt
          # GitHub API token to make a commit comment
          github-token: ${{ secrets.GITHUB_TOKEN }}
          # Enable alert commit comment
          comment-on-alert: true
          # Push and deploy GitHub pages branch automatically
          auto-push: true