Skip to content

ci-benchmark yaml file created #1

ci-benchmark yaml file created

ci-benchmark yaml file created #1

Workflow file for this run

name: CI Benchmark
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
permissions:
contents: read
jobs:
benchmark:
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
- monkci-runners-4vcpu
- monkci-ubuntu-24.04-4-3600iops
name: Benchmark @ ${{ matrix.runner }}
runs-on: ${{ matrix.runner }}
env:
GO111MODULE: on
GOPROXY: https://proxy.golang.org
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "^1"
cache: true
- name: Run Benchmarks
run: go test -bench=. -benchmem -benchtime=3s ./...
- name: Upload Benchmark Results
uses: actions/upload-artifact@v4
with:
name: benchmark-results-${{ matrix.runner }}
path: benchmark-results-${{ matrix.runner }}.txt
if-no-files-found: ignore
compare:
needs: benchmark
runs-on: ubuntu-latest
name: Compare Benchmark Results
steps:
- name: Download all benchmark artifacts
uses: actions/download-artifact@v4
with:
pattern: benchmark-results-*
merge-multiple: true
- name: Display Results
run: |
echo "===== Benchmark Comparison ====="
for f in benchmark-results-*.txt; do
echo ""
echo "----- Runner: ${f} -----"
cat "$f" || echo "(no results)"
done