Skip to content

refactor(vm-runner): Improve VM runner / VM playground (#2840) #1

refactor(vm-runner): Improve VM runner / VM playground (#2840)

refactor(vm-runner): Improve VM runner / VM playground (#2840) #1

name: Push main branch VM benchmarks to Prometheus
on:
push:
branches:
- main
workflow_dispatch:
# Disable simultaneous deployments into a single environment
concurrency: vm-benchmarks
jobs:
vm-benchmarks:
name: Run VM benchmarks
runs-on: [matterlabs-ci-runner-highmem-long]
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
with:
submodules: "recursive"
- name: setup-env
run: |
echo BENCHMARK_PROMETHEUS_PUSHGATEWAY_URL=${{ secrets.BENCHMARK_PROMETHEUS_PUSHGATEWAY_URL }} >> .env
echo ZKSYNC_HOME=$(pwd) >> $GITHUB_ENV
echo $(pwd)/bin >> $GITHUB_PATH
- name: init
run: |
run_retried docker compose pull zk
docker compose up -d zk
ci_run zk
ci_run zk compiler all
- name: run benchmarks
run: |
ci_run cargo bench --package vm-benchmark --bench oneshot
# Run only benches with 1,000 transactions per batch to not spend too much time
ci_run cargo bench --package vm-benchmark --bench batch '/1000$'
ci_run cargo bench --package vm-benchmark --bench iai | tee iai-result
ci_run cargo run --package vm-benchmark --bin iai_results_to_prometheus --release < iai-result