Skip to content
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

build(core): all-around tx check in assertoor #1259

Merged
merged 47 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
dc84a9a
Initial test of the new split version of the assertoor check
rodrigo-o Nov 25, 2024
b9a58b5
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 25, 2024
22135da
Making the blob match the other params and fixed a line end issue
rodrigo-o Nov 25, 2024
089a7ce
Fix jobs naming in the assertor.yaml
rodrigo-o Nov 25, 2024
f9b87d8
Fix the clientPattern for checking tx additions
rodrigo-o Nov 25, 2024
17102cd
Removed the testing from the network_params file and fixed a small issue
rodrigo-o Nov 25, 2024
c2ae975
Small format change
rodrigo-o Nov 25, 2024
e28ad04
Fix an issue with naming of steps and reduce the tx spammer check tim…
rodrigo-o Nov 25, 2024
da44c87
Moved tx spammer check up in the stability check order
rodrigo-o Nov 26, 2024
8c405bd
Change order of execution for the test, doing the stability one first
rodrigo-o Nov 26, 2024
89d3fe3
Change enclave name and point external tests to the assertoor repo
rodrigo-o Nov 26, 2024
8849c45
Added big call data tx check to the tx step and removed the stability…
rodrigo-o Nov 26, 2024
d64cc7d
Fixed some naming in the assertoor yaml
rodrigo-o Nov 26, 2024
35a09ba
Limit the number of Transactions to check in big-calldata test
rodrigo-o Nov 26, 2024
132660f
Added all the config necesary to a complete run of the big-calldata c…
rodrigo-o Nov 26, 2024
bb07c81
Moved the file reference to param checks when possible
rodrigo-o Nov 26, 2024
86a34a6
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 26, 2024
596a60d
Re,moved the walletPrivkey to take one by default
rodrigo-o Nov 26, 2024
fff30a8
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 26, 2024
1ea0bba
Reduce the number of transactionCount in the big_calldata check
rodrigo-o Nov 26, 2024
2c0c51c
Check having an individual version of the big call-data test
rodrigo-o Nov 26, 2024
3381d2b
Fixed the reference to the new custom big-calldata check
rodrigo-o Nov 26, 2024
f76c491
Re,oved finality checks due to timing
rodrigo-o Nov 26, 2024
7b071bc
Fixed transaction test names and reduced big calldata tx count
rodrigo-o Nov 26, 2024
6cc4fd4
Removed big calldata check due to timing
rodrigo-o Nov 26, 2024
cce7fa7
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 27, 2024
b037209
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 27, 2024
fc02054
Removed the now duplicated assertoor.yaml
rodrigo-o Nov 27, 2024
d56efe6
Fix an issue in the integration yaml
rodrigo-o Nov 27, 2024
556c2d7
Fixed the issue present today regarding prism and kurtosis
rodrigo-o Nov 27, 2024
74b891f
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
d7559bb
Moved GHA assertoor related yamls inside the .github folder
rodrigo-o Nov 28, 2024
c0eab15
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
e0ba0ba
Reduce the ammount of nodes in the tx execution test
rodrigo-o Nov 28, 2024
18eca6f
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
a4c8f16
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
dcbed77
Check if the stable version works better than the assertoor one throu…
rodrigo-o Nov 28, 2024
5668bff
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
dfd8dae
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
53d781f
Check if we can add the big-calldata again now that the transaction t…
rodrigo-o Nov 28, 2024
d694843
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
0716b40
Removed big-calldata check again due to timing
rodrigo-o Nov 28, 2024
574135b
Renamed stability check from .yml to .yaml
rodrigo-o Nov 28, 2024
5a7f713
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
a66fc99
Removed stability check on the tx test and reverted the ci skipped paths
rodrigo-o Nov 28, 2024
2aff3bc
Point the el-staability-check link to main
rodrigo-o Nov 28, 2024
9e79d9f
Merge branch 'main' into assertoor-allaround-tx-check
rodrigo-o Nov 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,27 @@

id: el-stability-check
name: "Check Execution Stability"
timeout: 2h
timeout: 18m
tasks:
- name: check_clients_are_healthy
title: "Check if all clients are ready"
timeout: 1m

- name: run_tasks_concurrent
title: "Check if all EL & CL clients are synced"
title: "Check if all EL & CL clients are synced and the tx spammer is working"
timeout: 5m
config:
tasks:
- name: check_consensus_sync_status
title: "Check if CL clients are synced"
- name: check_execution_sync_status
title: "Check if EL clients are synced"
- name: check_consensus_block_proposals
title: "Check the tx spammer is working as expected for block proposal with >= 50 transactions"
config:
minTransactionCount: 50
configVars:
clientPattern: "1-ethrex-lighthouse"

- name: run_task_matrix
title: "Check block proposals from all client pairs"
Expand All @@ -45,3 +51,5 @@ tasks:
title: "Check consensus reorgs"
- name: check_consensus_forks
title: "Check consensus forks"


21 changes: 21 additions & 0 deletions .github/config/assertoor/network_params_blob.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
participants:
- el_type: ethrex
cl_type: lighthouse
validator_count: 32
- el_type: geth
cl_type: lighthouse
validator_count: 32
- el_type: geth
cl_type: lighthouse
validator_count: 32

additional_services:
- assertoor
- tx_spammer

assertoor_params:
run_stability_check: false
run_block_proposal_check: false
tests:
- https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/stable/blob-transactions-test.yaml
- https://raw.githubusercontent.com/lambdaclass/ethrex/refs/heads/assertoor-allaround-tx-check/.github/config/assertoor/el-stability-check.yaml
16 changes: 16 additions & 0 deletions .github/config/assertoor/network_params_tx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
participants:
- el_type: ethrex
cl_type: lighthouse
validator_count: 32
- el_type: geth
cl_type: lighthouse
validator_count: 32

additional_services:
- assertoor

assertoor_params:
run_stability_check: false
run_block_proposal_check: false
tests:
- https://raw.githubusercontent.com/ethpandaops/assertoor/refs/heads/master/playbooks/stable/eoa-transactions-test.yaml
47 changes: 39 additions & 8 deletions .github/workflows/ci_l1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,10 @@ jobs:
name: ethrex_image
path: /tmp/ethrex_image.tar

run-assertoor:
name: Assertoor - Stability Check
run-assertoor-tx-check:
name: Assertoor - Transaction Check
runs-on: ubuntu-latest
needs: [docker_build]
if: ${{ github.event_name != 'merge_group' }}
steps:
- uses: actions/checkout@v4

Expand All @@ -119,13 +118,40 @@ jobs:
run: |
docker load --input /tmp/ethrex_image.tar

- name: Setup kurtosis testnet and run assertoor tests
- name: Run assertoor
uses: ethpandaops/kurtosis-assertoor-github-action@v1
with:
enclave_name: "ethrex-assertoor-tx"
kurtosis_version: "1.4.2"
ethereum_package_url: "github.com/lambdaclass/ethereum-package"
ethereum_package_branch: "ethrex-integration"
ethereum_package_args: "./test_data/network_params.yaml"
ethereum_package_args: "./.github/config/assertoor/network_params_tx.yaml"

run-assertoor-blob-check:
name: Assertoor - Blobs & Stability Check
runs-on: ubuntu-latest
needs: [docker_build]
steps:
- uses: actions/checkout@v4

- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: ethrex_image
path: /tmp

- name: Load image
run: |
docker load --input /tmp/ethrex_image.tar

- name: Run assertoor
uses: ethpandaops/kurtosis-assertoor-github-action@v1
with:
enclave_name: "ethrex-assertoor-blob"
kurtosis_version: "1.4.2"
ethereum_package_url: "github.com/lambdaclass/ethereum-package"
ethereum_package_branch: "ethrex-integration"
ethereum_package_args: "./.github/config/assertoor/network_params_blob.yaml"

run-hive:
name: Hive - ${{ matrix.name }}
Expand Down Expand Up @@ -186,14 +212,19 @@ jobs:
# "Integration Test" is a required check, don't change the name
name: Integration Test
runs-on: ubuntu-latest
needs: [run-assertoor, run-hive]
needs: [run-assertoor-tx-check, run-assertoor-blob-check, run-hive]
# Make sure this job runs even if the previous jobs failed or were skipped
if: ${{ always() && needs.run-assertoor.result != 'skipped' && needs.run-hive.result != 'skipped' }}
steps:
- name: Check if any job failed
run: |
if [ "${{ needs.run-assertoor.result }}" != "success" ]; then
echo "Job Assertoor failed"
if [ "${{ needs.run-assertoor-tx-check.result }}" != "success" ]; then
echo "Job Assertoor Tx Check failed"
exit 1
fi

if [ "${{ needs.run-assertoor-blob-check.result }}" != "success" ]; then
echo "Job Assertoor Blob Check failed"
exit 1
fi

Expand Down
14 changes: 5 additions & 9 deletions .github/workflows/ci_skipped.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,11 @@ name: CI Skipped
on:
pull_request:
branches: ["**"]
paths-ignore:
- '**/*.rs'
- '**/*.toml'
- '**/*.yaml'
- '**/*.sh'
- '**/*.json'
- '**/*.rlp'
- 'Dockefile*'

paths:
- 'README.md'
- 'LICENSE'
- "**/README.md"
- "**/docs/**"
Comment on lines +5 to +9
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This revert a change that spawned CI skipped checks on PRs that didn't need them.

jobs:
lint:
# "Lint" is a required check, don't change the name
Expand Down
8 changes: 0 additions & 8 deletions test_data/network_params.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,6 @@ participants:
validator_count: 32

additional_services:
- assertoor
- dora
- el_forkmon
- tx_spammer

assertoor_params:
run_stability_check: false
run_block_proposal_check: false
run_blob_transaction_test: true
tests:
- 'https://raw.githubusercontent.com/lambdaclass/ethrex/refs/heads/main/test_data/el-stability-check.yml'