Skip to content

add path to release-manager script #1139

add path to release-manager script

add path to release-manager script #1139

Workflow file for this run

# This script is a modified version of github.com/bool64/dev.
name: benchmark
on:
pull_request:
workflow_dispatch:
inputs:
old:
description: 'Old Ref'
required: false
default: 'main'
new:
description: 'New Ref'
required: true
# Cancel the workflow in progress in newer build is about to start.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
GO111MODULE: "on"
RUN_BASE_BENCHMARK: "on"
jobs:
benchmarks:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ (github.event.inputs.new != '') && github.event.inputs.new || github.event.ref }}
- name: Install Go stable
uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
cache: true
- name: Go cache
uses: actions/cache@v3
with:
# In order:
# * Module download cache
# * Build cache (Linux)
path: |
~/go/pkg/mod
key: ${{ runner.os }}-go-cache-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-cache
- name: Restore benchstat
uses: actions/cache@v3
with:
path: ~/go/bin/benchstat
key: ${{ runner.os }}-benchstat-legacy
- name: Benchmark results for changes
id: bench-next
run: |
BENCH_BASE=next.out make benchmark
echo "next<<EOF" >> $GITHUB_OUTPUT && cat build/next.out >> $GITHUB_OUTPUT && echo "EOF" >> $GITHUB_OUTPUT
- name: Benchmark results for base
id: bench-base
if: env.RUN_BASE_BENCHMARK == 'on' && (github.event.pull_request.base.sha != '' || github.event.inputs.old != '')
run: |
git fetch origin main ${{ github.event.pull_request.base.sha }}
HEAD=$(git rev-parse HEAD)
git reset --hard ${{ github.event.pull_request.base.sha }}
BENCH_BASE=base.out make benchmark
git reset --hard $HEAD
echo "base<<EOF" >> $GITHUB_OUTPUT && cat build/base.out >> $GITHUB_OUTPUT && echo "EOF" >> $GITHUB_OUTPUT
- name: Benchmark diff against base
id: bench-diff
run: |
echo "${{ steps.bench-next.outputs.next }}" > build/bench-next
echo "${{ steps.bench-base.outputs.base }}" > build/bench-base
BENCH_BASE=bench-base BENCH_NEXT=bench-next make benchstat | tee build/bench-diff.out
echo "diff<<EOF" >> $GITHUB_OUTPUT && cat build/bench-diff.out >> $GITHUB_OUTPUT && echo "EOF" >> $GITHUB_OUTPUT
- name: Comment benchmark result
continue-on-error: true
uses: marocchino/sticky-pull-request-comment@v2
with:
GITHUB_TOKEN: ${{ secrets.PROJECT_ASSIGNER_TOKEN }}
header: benchmark
message: |
### Benchmark Result
<details><summary>Benchmark diff against base branch</summary>
```bash
${{ steps.bench-diff.outputs.diff }}
```
</details>
<details><summary>Benchmark result</summary>
```bash
${{ steps.bench-next.outputs.next }}
```
</details>