mirror of
https://github.com/labstack/echo.git
synced 2024-12-24 20:14:31 +02:00
Adding GitHub action to compare benchmarks
The GitHub action runs all the benchmarks for the target branch, and the compares those values with the benchmarks results for the PR new code.
This commit is contained in:
parent
ad3be08de1
commit
5b9bbbd356
52
.github/workflows/echo.yml
vendored
52
.github/workflows/echo.yml
vendored
@ -62,3 +62,55 @@ jobs:
|
||||
with:
|
||||
token:
|
||||
fail_ci_if_error: false
|
||||
benchmark:
|
||||
needs: test
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
go: [1.15]
|
||||
name: Benchmark comparison ${{ matrix.os }} @ Go ${{ matrix.go }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Set up Go ${{ matrix.go }}
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
|
||||
- name: Set GOPATH and PATH
|
||||
run: |
|
||||
echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
|
||||
echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH
|
||||
shell: bash
|
||||
|
||||
- name: Set build variables
|
||||
run: |
|
||||
echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV
|
||||
echo "GO111MODULE=on" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout Code (Previous)
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.base_ref }}
|
||||
path: previous
|
||||
|
||||
- name: Checkout Code (New)
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: new
|
||||
|
||||
- name: Install Dependencies
|
||||
run: go get -v golang.org/x/perf/cmd/benchstat
|
||||
|
||||
- name: Run Benchmark (Previous)
|
||||
run: |
|
||||
cd previous
|
||||
go test -run="-" -bench=".*" -count=5 ./... > benchmark.txt
|
||||
|
||||
- name: Run Benchmark (New)
|
||||
run: |
|
||||
cd new
|
||||
go test -run="-" -bench=".*" -count=5 ./... > benchmark.txt
|
||||
|
||||
- name: Run Benchstat
|
||||
run: |
|
||||
benchstat previous/benchmark.txt new/benchmark.txt
|
||||
|
Loading…
Reference in New Issue
Block a user