feat: Validium mode #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Compare VM perfomance to base branch | |
on: | |
pull_request: | |
paths: | |
- 'core/**' | |
jobs: | |
vm-benchmarks: | |
name: Run VM benchmarks | |
runs-on: [matterlabs-ci-runner] | |
steps: | |
- name: checkout base branch | |
uses: actions/checkout@v3 | |
with: | |
submodules: "recursive" | |
fetch-depth: 0 | |
ref: ${{ github.base_ref }} | |
- name: fetch PR branch | |
run: | | |
git remote add pr_repo ${{ github.event.pull_request.head.repo.clone_url }} | |
git fetch pr_repo ${{ github.event.pull_request.head.ref }} | |
- name: fetch merge-base SHA | |
id: merge_base | |
run: echo "sha=$(git merge-base HEAD FETCH_HEAD)" >> $GITHUB_OUTPUT | |
- name: checkout divergence point | |
run: git checkout ${{ steps.merge_base.outputs.sha }} | |
- name: setup-env | |
run: | | |
touch .env | |
echo ZKSYNC_HOME=$(pwd) >> $GITHUB_ENV | |
echo $(pwd)/bin >> $GITHUB_PATH | |
- name: init | |
run: | | |
docker compose up -d zk | |
- name: run benchmarks on base branch | |
shell: bash | |
run: | | |
ci_run zk | |
ci_run zk compiler system-contracts | |
ci_run cargo bench --package vm-benchmark --bench iai | tee base-iai | |
- name: checkout PR | |
run: git checkout --force FETCH_HEAD --recurse-submodules | |
- name: run benchmarks on PR | |
shell: bash | |
run: | | |
ci_run zk | |
ci_run zk compiler system-contracts | |
ci_run cargo bench --package vm-benchmark --bench iai | tee pr-iai | |
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) | |
echo "speedup<<$EOF" >> $GITHUB_OUTPUT | |
ci_run cargo run --package vm-benchmark --release --bin compare_iai_results base-iai pr-iai >> $GITHUB_OUTPUT | |
echo "$EOF" >> $GITHUB_OUTPUT | |
id: comparison | |
- name: Comment on PR | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
${{ steps.comparison.outputs.speedup == '' && '## No performance difference detected (anymore)' || '## Detected VM performance changes' }} | |
${{ steps.comparison.outputs.speedup }} | |
comment_tag: vm-performance-changes | |
mode: recreate | |
create_if_not_exists: ${{ steps.comparison.outputs.speedup != '' }} |