Daily Hive Coverage #11
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 Hive Coverage | |
on: | |
schedule: | |
# Every day at UTC midnight | |
- cron: "0 0 * * *" | |
workflow_dispatch: | |
env: | |
RUST_VERSION: 1.81.0 | |
jobs: | |
run-hive: | |
name: Run engine hive simulator to gather coverage information. | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- name: "Rpc Compat tests" | |
file_name: rpc-compat | |
simulation: ethereum/rpc-compat | |
- name: "Devp2p eth tests" | |
file_name: devp2p | |
simulation: devp2p | |
- name: "Cancun Engine tests" | |
file_name: engine | |
simulation: ethereum/engine | |
- name: "Sync tests" | |
file_name: sync | |
simulation: ethereum/sync | |
steps: | |
- name: Pull image | |
run: | | |
docker pull ghcr.io/lambdaclass/ethrex:latest | |
docker tag ghcr.io/lambdaclass/ethrex:latest ethrex:latest | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
- name: Setup Hive | |
run: make setup-hive | |
- name: Run Hive Simulation | |
run: cd hive && ./hive --client ethrex --sim ${{ matrix.simulation }} --sim.parallelism 4 | |
continue-on-error: true | |
- name: Upload results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.file_name }}_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@v3 | |
- 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 "# Hive coverage report" >> $GITHUB_STEP_SUMMARY | |
cat results.md >> $GITHUB_STEP_SUMMARY | |
- name: Post results to ethrex L1 slack channel | |
env: | |
url: ${{ secrets.ETHREX_L1_SLACK_WEBHOOK }} | |
run: sh .github/scripts/publish.sh | |
- name: Post results to ethrex L2 slack channel | |
env: | |
url: ${{ secrets.ETHREX_L2_SLACK_WEBHOOK }} | |
run: sh .github/scripts/publish.sh | |
- name: Post results to levm slack channel | |
env: | |
url: ${{ secrets.LEVM_SLACK_WEBHOOK }} | |
run: sh .github/scripts/publish.sh |