-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(levm): run hive tests with levm, generate and publish report #1546
Merged
+241
−43
Merged
Changes from 40 commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
0ed1d46
make some changes for testing purposes
JereSalo c8afde4
fix beacon contract levm (we use revm), quick fix gas used, fix lints…
JereSalo aae5d87
move get_account logic out of VM implementation
JereSalo fdf1bec
remove unnecessary caching in VM::new
JereSalo 1f8b27f
replace one instance of get_account from db
JereSalo 3649048
move creation of contract to transact, interact with cache first, the…
JereSalo 6f3fa33
remove receiver account on revert (independently of transaction type)
JereSalo 5bddf60
Delete .tool-versions~
JereSalo fd06635
remove file
JereSalo cfeaad4
Merge branch 'levm/fixes_cache_db' of github.com:lambdaclass/lambda_e…
JereSalo da8a681
remove cache_from_db method
JereSalo 58d42b0
change get_account for access_account
JereSalo 32435f2
replace direct access to db for cache and then db
JereSalo a49e264
Revert "change get_account for access_account"
JereSalo 4979241
Merge branch 'main' into levm/fixes_cache_db
JereSalo d20451b
merge main
JereSalo fbeddef
add temporary cache for executing multiple transactions
JereSalo c58b936
extend account updates at the end of block and change get_state_trans…
JereSalo acf826b
Merge branch 'levm/fixes_cache_db' into levm/integration_l1_hive
JereSalo 421d1ed
remove shallow-since and make non-functional changes
JereSalo ec30e64
fix logs
JereSalo cd3ac5b
tidy code and improve comments
JereSalo 170a897
Merge branch 'levm/fix_logs' into levm/integration_l1_hive
JereSalo 0293ed4
fix lint
JereSalo 40135de
clean comments
JereSalo 8d8783a
start refactor of get state transitions levm
JereSalo ffa1f48
Merge branch 'main' into levm/integration_l1_hive
JereSalo 5ab4cef
begin with refactor to account updates
JereSalo 56f3dcf
refactor get_state_transitions for levm
JereSalo d1b594a
fix my mistakes in get_state_transitions
JereSalo fa940d6
leave some things as they were
JereSalo bd468a3
restore files comparing with main
JereSalo e5381e4
clean code
JereSalo 0393132
Merge branch 'main' into levm/integration_l1_hive
JereSalo 958eb12
feat(levm): hive LEVM CI (#1567)
JereSalo 2c6fcbf
Merge branch 'main' into levm/integration_l1_hive
JereSalo 1af1f93
change something in get_state_transitions
JereSalo 46d2c56
remove unnecessary or in account updates check
JereSalo 41f15b4
change reports schedule, channel and file name
JereSalo 82d33db
Merge branch 'main' into levm/integration_l1_hive
JereSalo 30eecfe
change temporary_cache for block_cache
JereSalo 4ad72e0
fix error and add make for running hive tests in levm
JereSalo cd42fd4
ditto
JereSalo 8fa56fd
replace default-levm for levm
JereSalo 81392e3
add if feature levm in ethrex.rs
JereSalo 288ab52
update comment
JereSalo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
curl -X POST $url \ | ||
-H 'Content-Type: application/json; charset=utf-8' \ | ||
--data @- <<EOF | ||
$(jq -n --arg text "$(cat results.md)" '{ | ||
"blocks": [ | ||
{ | ||
"type": "header", | ||
"text": { | ||
"type": "plain_text", | ||
"text": "LEVM Hive Coverage Report" | ||
} | ||
}, | ||
{ | ||
"type": "section", | ||
"text": { | ||
"type": "mrkdwn", | ||
"text": $text | ||
} | ||
} | ||
] | ||
}') | ||
EOF |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
name: Daily Reports Hive LEVM | ||
|
||
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 | ||
|
||
# Note: Leave this commented, as it is for testing purposes. | ||
# - name: Post results to test channel for debugging | ||
# env: | ||
# url: ${{ secrets.TEST_CHANNEL_SLACK }} | ||
# run: sh .github/scripts/publish_levm_hive.sh |
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's name the target to
levm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is already a levm target
levm = ["ethrex-vm/levm"]
Do you think I should just do:
levm = ["default", "ethrex-vm/levm"]
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done