Skip to content

feat(ci): Fully use sccache in CI tests (#2903) #53

feat(ci): Fully use sccache in CI tests (#2903)

feat(ci): Fully use sccache in CI tests (#2903) #53

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 "SCCACHE_GCS_BUCKET=matterlabs-infra-sccache-storage" >> .env
echo "SCCACHE_GCS_SERVICE_ACCOUNT=gha-ci-runners@matterlabs-infra.iam.gserviceaccount.com" >> .env
echo "SCCACHE_GCS_RW_MODE=READ_WRITE" >> .env
echo "RUSTC_WRAPPER=sccache" >> .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 zkt
ci_run zks contracts 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