roc/.github/workflows/benchmarks.yml
2021-06-11 12:41:17 +02:00

44 lines
1.3 KiB
YAML

on: [pull_request]
name: Benchmarks
env:
RUST_BACKTRACE: 1
jobs:
prep-dependency-container:
name: cd cli; cargo criterion
runs-on: [self-hosted, i7-6700K]
timeout-minutes: 60
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v2
with:
clean: "true"
- name: Earthly version
run: earthly --version
- name: on trunk; prepare a self-contained benchmark folder
run: ./ci/safe-earthly.sh --build-arg BENCH_SUFFIX=trunk +prep-bench-folder
- uses: actions/checkout@v2
with:
clean: "false" # we want to keep the benchmark folder
- name: on current branch; prepare a self-contained benchmark folder
run: ./ci/safe-earthly.sh +prep-bench-folder
- name: set ulimit to prevent stack overflow error
run: ulimit -s unlimited
- name: benchmark trunk
run: ulimit -s unlimited && cd bench-folder-trunk && ./target/release/deps/time_bench --bench
- name: move benchmark results so they can be compared later
run: cp -r bench-folder-trunk/target/criterion bench-folder-branch/target/
- name: benchmark current branch
run: ulimit -s unlimited && cd bench-folder-branch && ./target/release/deps/time_bench --bench