Skip to content

feat(levm): hive LEVM CI #3

feat(levm): hive LEVM CI

feat(levm): hive LEVM CI #3

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:
# docker_build:
# # "Build Docker" is a required check, don't change the name
# name: Build Docker
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
# - name: Build Docker image
# uses: docker/build-push-action@v6
# with:
# context: .
# file: ./Dockerfile
# load: true
# tags: ethrex
# outputs: type=docker,dest=/tmp/ethrex_image.tar
# - name: Upload artifacts
# uses: actions/upload-artifact@v4
# with:
# name: ethrex_image
# path: /tmp/ethrex_image.tar
run-hive:
name: Hive - ${{ matrix.name }}
# needs: docker_build
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
- name: Setup Hive
run: make setup-hive
- name: Run Hive RPC Simulation
run: make run-hive SIMULATION=ethereum/rpc-compat TEST_PATTERN="*"
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@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
# uncomment this afterwards (I think)
# - 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.sh
- name: Post results to test channel for debugging
env:
url: ${{ secrets.TEST_CHANNEL_SLACK }}
run: sh .github/scripts/publish.sh
# This is left commented out to ease debugging later on.
# Comment out all the other "Post to * slack channel" directives
# - name: Post results to test slack channel
# env:
# url: ${{ secrets.TEST_CHANNEL_SLACK }}
# run: sh .github/scripts/publish_loc.sh