From d65060cc6959802f096a160319819d944732ac09 Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Tue, 22 Oct 2024 14:13:14 -0300 Subject: [PATCH 1/8] initial cd test --- test_data/el-stability-check.yml | 19 +++++++++++++++++++ test_data/network_params.yaml | 3 +-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 test_data/el-stability-check.yml diff --git a/test_data/el-stability-check.yml b/test_data/el-stability-check.yml new file mode 100644 index 000000000..ca127c0a8 --- /dev/null +++ b/test_data/el-stability-check.yml @@ -0,0 +1,19 @@ +id: el-stability-check +name: "Check chain stability" +timeout: 2h +tasks: +- name: check_clients_are_healthy + title: "Check if at least one client is ready" + timeout: 5m + config: + minClientCount: 1 + +- name: run_tasks_concurrent + title: "Check if all EL & CL clients are synced" + timeout: 30m + 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" diff --git a/test_data/network_params.yaml b/test_data/network_params.yaml index 91780d685..ca737125f 100644 --- a/test_data/network_params.yaml +++ b/test_data/network_params.yaml @@ -11,5 +11,4 @@ additional_services: - dora assertoor_params: - run_stability_check: true - run_block_proposal_check: false + test: './test_data/el-stability-check.yml' From 52244eb04a1de51d13bc3a92470de4d201f82a93 Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Tue, 22 Oct 2024 18:14:36 -0300 Subject: [PATCH 2/8] Testing running the GHA with just the EL stability checks --- .github/workflows/ci.yaml | 29 +++++++++++++++++++++++++++++ test_data/el-stability-check.yml | 2 +- test_data/network_params.yaml | 6 +++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dfaa31600..c8c460365 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -75,6 +75,35 @@ jobs: context: . file: ./Dockerfile load: true # Important for building without pushing + tags: lambda_ethereum_rust:latest + outputs: type=docker,dest=/tmp/lambda_ethereum_rust.tar + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: lambda_ethereum_rust + path: /tmp/lambda_ethereum_rust.tar + + assertoor: + runs-on: ubuntu-latest + needs: build + steps: + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Download artifact + uses: actions/download-artifact@v2 + with: + name: lambda_ethereum_rust + path: /tmp + - name: Load Docker image + run: | + docker load --input /tmp/lambda_ethereum_rust.tar + docker image ls -a + - name: Setup kurtosis testnet and run assertoor tests + uses: ethpandaops/kurtosis-assertoor-github-action@v1 + with: + ethereum_package_url: 'github.com/lambdaclass/ethereum-package' + ethereum_package_branch: 'ethereum-rust-integration' + ethereum_package_args: './test_data/network_params.yaml' prover: name: Build RISC-V zkVM program diff --git a/test_data/el-stability-check.yml b/test_data/el-stability-check.yml index ca127c0a8..eff714ab4 100644 --- a/test_data/el-stability-check.yml +++ b/test_data/el-stability-check.yml @@ -1,5 +1,5 @@ id: el-stability-check -name: "Check chain stability" +name: "Check Execution Stability" timeout: 2h tasks: - name: check_clients_are_healthy diff --git a/test_data/network_params.yaml b/test_data/network_params.yaml index ca737125f..58d027fe4 100644 --- a/test_data/network_params.yaml +++ b/test_data/network_params.yaml @@ -11,4 +11,8 @@ additional_services: - dora assertoor_params: - test: './test_data/el-stability-check.yml' + run_stability_check: false + run_block_proposal_check: false + tests: + - 'https://raw.githubusercontent.com/lambdaclass/lambda_ethereum_rust/refs/heads/assertoor-run-on-cd/test_data/el-stability-check.yml' + From c0e05caa364037f531a46ecf1867033ad4cef4ce Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Tue, 22 Oct 2024 18:17:10 -0300 Subject: [PATCH 3/8] Correctly naming the job and defined the precedence --- .github/workflows/ci.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c8c460365..e1bbdb5bb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -84,8 +84,9 @@ jobs: path: /tmp/lambda_ethereum_rust.tar assertoor: + name: Assertoor tests runs-on: ubuntu-latest - needs: build + needs: docker-build steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 From cad2a472a1b6ceeee8d335e057732f8c125c35e1 Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Wed, 23 Oct 2024 09:30:33 -0300 Subject: [PATCH 4/8] Moved assertoor test to a different file and removed now the upload/download action Te removal of the actions was due to now being in the new file and not be able to depend on the already present docker-build job. --- .github/workflows/assertoor.yaml | 34 +++++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 35 +++++--------------------------- .github/workflows/hive.yaml | 12 +++++++++-- 3 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/assertoor.yaml diff --git a/.github/workflows/assertoor.yaml b/.github/workflows/assertoor.yaml new file mode 100644 index 000000000..08c2c0ca1 --- /dev/null +++ b/.github/workflows/assertoor.yaml @@ -0,0 +1,34 @@ +name: Assertoor Tests + +on: + push: + branches: [ main ] + pull_request: + branches: [ '*' ] + paths-ignore: + - 'README.md' + - 'LICENSE' + - "**/README.md" + - "**/docs/**" +jobs: + assertoor: + name: Assertoor run + runs-on: ubuntu-latest + needs: docker-build + 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@v5 + with: + context: . + file: ./Dockerfile + load: true # Important for building without pushing + tags: ethereum_rust + - name: Setup kurtosis testnet and run assertoor tests + uses: ethpandaops/kurtosis-assertoor-github-action@v1 + with: + ethereum_package_url: 'github.com/lambdaclass/ethereum-package' + ethereum_package_branch: 'ethereum-rust-integration' + ethereum_package_args: './test_data/network_params.yaml' diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e1bbdb5bb..15e5a24fb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -5,6 +5,11 @@ on: branches: [main] pull_request: branches: ["*"] + paths-ignore: + - 'README.md' + - 'LICENSE' + - "**/README.md" + - "**/docs/**" concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} @@ -75,36 +80,6 @@ jobs: context: . file: ./Dockerfile load: true # Important for building without pushing - tags: lambda_ethereum_rust:latest - outputs: type=docker,dest=/tmp/lambda_ethereum_rust.tar - - name: Upload artifact - uses: actions/upload-artifact@v2 - with: - name: lambda_ethereum_rust - path: /tmp/lambda_ethereum_rust.tar - - assertoor: - name: Assertoor tests - runs-on: ubuntu-latest - needs: docker-build - steps: - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Download artifact - uses: actions/download-artifact@v2 - with: - name: lambda_ethereum_rust - path: /tmp - - name: Load Docker image - run: | - docker load --input /tmp/lambda_ethereum_rust.tar - docker image ls -a - - name: Setup kurtosis testnet and run assertoor tests - uses: ethpandaops/kurtosis-assertoor-github-action@v1 - with: - ethereum_package_url: 'github.com/lambdaclass/ethereum-package' - ethereum_package_branch: 'ethereum-rust-integration' - ethereum_package_args: './test_data/network_params.yaml' prover: name: Build RISC-V zkVM program diff --git a/.github/workflows/hive.yaml b/.github/workflows/hive.yaml index 210227485..0b25c604b 100644 --- a/.github/workflows/hive.yaml +++ b/.github/workflows/hive.yaml @@ -4,10 +4,18 @@ on: merge_group: push: branches: [main] - paths-ignore: ["crates/l2/**"] + paths-ignore: + - "crates/l2/**" + - 'README.md' + - 'LICENSE' + - "**/README.md" + - "**/docs/**" pull_request: branches: ["*"] - paths-ignore: ["crates/l2/**"] + paths-ignore: + - "crates/l2/**" + - 'README.md' + - 'LICENSE' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} From 510d745115a17b43b3b80c561b548b3c30f758e6 Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Wed, 23 Oct 2024 09:37:56 -0300 Subject: [PATCH 5/8] Added reference and explanation to the el-stability-check file --- test_data/el-stability-check.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test_data/el-stability-check.yml b/test_data/el-stability-check.yml index eff714ab4..f7a0a9e9f 100644 --- a/test_data/el-stability-check.yml +++ b/test_data/el-stability-check.yml @@ -1,3 +1,12 @@ +# This file is based upon `assertoor-tests` stability check file: +# https://github.com/ethpandaops/assertoor-test/blob/master/assertoor-tests/stability-check.yaml +# +# We removed the consensus checks to keep it minimal. The checks removed were: +# - check_consensus_finality +# - check_consensus_finality +# - check_consensus_reorgs +# - check_consensus_forks + id: el-stability-check name: "Check Execution Stability" timeout: 2h From efab42295c97f40d56e11fd59f7d018553c997ad Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Wed, 23 Oct 2024 09:49:11 -0300 Subject: [PATCH 6/8] Added merge_group to assertoor.yaml and made ignore_paths consistent for main --- .github/workflows/assertoor.yaml | 14 +++++++++++--- .github/workflows/hive.yaml | 8 ++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/assertoor.yaml b/.github/workflows/assertoor.yaml index 08c2c0ca1..1978438f4 100644 --- a/.github/workflows/assertoor.yaml +++ b/.github/workflows/assertoor.yaml @@ -1,6 +1,6 @@ -name: Assertoor Tests - +name: Assertoor on: + merge_group: push: branches: [ main ] pull_request: @@ -10,9 +10,17 @@ on: - 'LICENSE' - "**/README.md" - "**/docs/**" + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + RUST_VERSION: 1.80.1 + jobs: assertoor: - name: Assertoor run + name: Stability Check runs-on: ubuntu-latest needs: docker-build steps: diff --git a/.github/workflows/hive.yaml b/.github/workflows/hive.yaml index 0b25c604b..7d3f90850 100644 --- a/.github/workflows/hive.yaml +++ b/.github/workflows/hive.yaml @@ -4,18 +4,14 @@ on: merge_group: push: branches: [main] - paths-ignore: - - "crates/l2/**" - - 'README.md' - - 'LICENSE' - - "**/README.md" - - "**/docs/**" pull_request: branches: ["*"] paths-ignore: - "crates/l2/**" - 'README.md' - 'LICENSE' + - "**/README.md" + - "**/docs/**" concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} From 0deba1d4a301d77e626fe9492eaf6eaca640d4f6 Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Wed, 23 Oct 2024 09:51:19 -0300 Subject: [PATCH 7/8] Remove olld need in the assertoor job --- .github/workflows/assertoor.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/assertoor.yaml b/.github/workflows/assertoor.yaml index 1978438f4..bb5b8aa3e 100644 --- a/.github/workflows/assertoor.yaml +++ b/.github/workflows/assertoor.yaml @@ -19,10 +19,9 @@ env: RUST_VERSION: 1.80.1 jobs: - assertoor: + test-run: name: Stability Check runs-on: ubuntu-latest - needs: docker-build steps: - uses: actions/checkout@v4 - name: Set up Docker Buildx From a80fb4a5ccf9d53baad0306c084e7d1e253db3bf Mon Sep 17 00:00:00 2001 From: Rodrigo Oliveri Date: Wed, 23 Oct 2024 13:00:40 -0300 Subject: [PATCH 8/8] Fixed a typo in the el-stability-check comment --- test_data/el-stability-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_data/el-stability-check.yml b/test_data/el-stability-check.yml index f7a0a9e9f..5760091b3 100644 --- a/test_data/el-stability-check.yml +++ b/test_data/el-stability-check.yml @@ -3,7 +3,7 @@ # # We removed the consensus checks to keep it minimal. The checks removed were: # - check_consensus_finality -# - check_consensus_finality +# - check_consensus_attestation_stats # - check_consensus_reorgs # - check_consensus_forks