feat(levm): run hive tests with levm, generate and publish report #14
Workflow file for this run
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: Daily Reports Hive LEVM | |
on: | |
push: | |
branches: ["main"] | |
merge_group: | |
pull_request: | |
branches: ["**"] | |
# Uncomment this after testing | |
# on: | |
# schedule: | |
# # Every day at UTC midnight | |
# - cron: "0 0 * * 1,2,3,4,5" | |
# workflow_dispatch: | |
env: | |
RUST_VERSION: 1.81.0 | |
jobs: | |
run-hive: | |
name: Hive | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
- name: Build Image with LEVM | |
run: cd crates/vm/levm && make build-image-levm | |
- name: Setup Hive | |
run: make setup-hive | |
- name: Run Hive RPC Simulation | |
run: cd hive && ./hive --sim ethereum/rpc-compat --client ethrex --sim.limit "*" --sim.parallelism 16 | |
continue-on-error: true | |
- name: Run Hive Sync Simulation | |
run: cd hive && ./hive --sim ethereum/sync --client ethrex --sim.limit "*" --sim.parallelism 16 | |
continue-on-error: true | |
- name: Run Hive Engine Simulation | |
run: cd hive && ./hive --sim ethereum/engine --client ethrex --sim.limit "*" --sim.parallelism 16 | |
continue-on-error: true | |
- name: Run Hive P2P Simulation | |
run: cd hive && ./hive --sim devp2p --client ethrex --sim.limit "*" --sim.parallelism 16 | |
continue-on-error: true | |
- name: Upload results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testing_logs | |
path: hive/workspace/logs/*-*.json | |
hive-report: | |
name: Generate report and upload to summary and slack | |
needs: run-hive | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Rustup toolchain install | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.RUST_VERSION }} | |
- name: Download all results | |
uses: actions/download-artifact@v4 | |
with: | |
path: hive/workspace/logs | |
pattern: "*_logs" | |
merge-multiple: true | |
- name: Caching | |
uses: Swatinem/rust-cache@v2 | |
- name: Generate the hive report | |
run: cargo run -p hive_report > results.md | |
- name: Post results in summary | |
run: | | |
echo "# LEVM Hive coverage report" >> $GITHUB_STEP_SUMMARY | |
cat results.md >> $GITHUB_STEP_SUMMARY | |
# - name: Post results to levm slack channel | |
# env: | |
# url: ${{ secrets.LEVM_SLACK_WEBHOOK }} | |
# run: sh .github/scripts/publish_levm_hive.sh | |
- name: Post results to test channel for debugging | |
env: | |
url: ${{ secrets.TEST_CHANNEL_SLACK }} | |
run: sh .github/scripts/publish_levm_hive.sh |