Skip to content

Commit

Permalink
Add benchmark workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
nc6 committed Nov 24, 2021
1 parent 0ff55dc commit 1e30d44
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/tools/extract_criterion.jq
@@ -0,0 +1,3 @@
[.[2][] |
.reportName as $bench_name |
{ name: $bench_name, unit: "Nanoseconds", value: .reportAnalysis.anMean.estPoint, range: .reportAnalysis.anStdDev.estPoint }]
46 changes: 46 additions & 0 deletions .github/workflows/bench.yml
@@ -0,0 +1,46 @@
name: Ledger Benchmarks
on:
push:
branches:
- master
- nc/bench-tx

permissions:
contents: write
deployments: write

jobs:
benchmark:
name: cardano-ledger benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v15
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
substituters = https://hydra.iohk.io https://cache.nixos.org/
- name: Build benchmarks
run: nix-build -A haskellPackages.cardano-ledger-test.components.benchmarks
- name: Run benchmark
run: |
cd libs/cardano-ledger-test
../../result/bin/bench "applyTxBenchmarks" --json bench.json
- name: Transform results
run: |
nix-env -i jq -f '<nixpkgs>'
jq -f .github/tools/extract_criterion.jq < libs/cardano-ledger-test/bench.json > output.json
- name: Store benchmark result
uses: benchmark-action/github-action-benchmark@v1
with:
name: Haskell Benchmark
tool: 'customSmallerIsBetter'
output-file-path: output.json
github-token: ${{ secrets.GITHUB_TOKEN }}
auto-push: true
# Show alert with commit comment on detecting possible performance regression
alert-threshold: '200%'
comment-on-alert: true
fail-on-alert: true
alert-comment-cc-users: '@nc6'

0 comments on commit 1e30d44

Please sign in to comment.