surrealpatch/.github/workflows/bench.yml

50 lines
1.3 KiB
YAML

name: Benchmark
on: [pull_request]
defaults:
run:
shell: bash
jobs:
bench:
name: Bench library
runs-on: ubuntu-20.04-16-cores
steps:
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install dependencies
run: |
sudo apt-get -qq -y update
sudo apt-get -qq -y install protobuf-compiler libprotobuf-dev
cargo install --quiet critcmp
- name: Checkout baseline
uses: actions/checkout@v3
with:
ref: ${{ github.base_ref }}
- name: Benchmark baseline
run: cargo bench --quiet --package surrealdb --no-default-features --features kv-mem -- --save-baseline baseline
- name: Extract baseline
run: cp -r target/criterion /tmp/criterion
- name: Checkout changes
uses: actions/checkout@v3
- name: Replace baseline
run: mkdir target && cp -r /tmp/criterion target/criterion
- name: Benchmark changes
run: cargo bench --quiet --package surrealdb --no-default-features --features kv-mem -- --save-baseline changes
- name: Compare results
run: critcmp baseline changes | tee benchmark_results
- name: Save results as artifact
uses: actions/upload-artifact@v1
with:
name: Benchmark Results
path: benchmark_results