github.com/lestrrat-go/jwx/v2@v2.0.21/.github/workflows/benchmark.yml (about)

     1  name: Benchmark
     2  on:
     3    schedule:
     4      - cron: '0 5 * * 1' 
     5    workflow_dispatch: {}
     6  
     7  jobs:
     8    build:
     9      runs-on: ubuntu-latest
    10      strategy:
    11        matrix:
    12          go: [ '1.19', '1.18', '1.17' ]
    13      name: "Test [ Go ${{ matrix.go }} / JSON Backend ${{ matrix.json_backend }} ]"
    14      steps:
    15        - name: Checkout repository
    16          uses: actions/checkout@v4
    17        - name: Cache Go modules
    18          uses: actions/cache@v4
    19          with:
    20            path: |
    21              ~/go/pkg/mod
    22              ~/.cache/go-build
    23            key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
    24            restore-keys: |
    25              ${{ runner.os }}-go-
    26        - name: Install Go stable version
    27          uses: actions/setup-go@v5
    28          with:
    29            go-version: ${{ matrix.go }}
    30            check-latest: true
    31        - name: Install benchstat
    32          run: |
    33            go install golang.org/x/perf/cmd/benchstat@latest
    34        - name: Benchmark (comparison)
    35          run: |
    36            cd bench/comparison && make stdlib && make goccy 
    37        - name: Benchmark (performance)
    38          run: |
    39            cd bench/performance && make stdlib && make goccy && make benchstat