From 995c5fc8ea5850cad8a64108be720ad5923cc4c8 Mon Sep 17 00:00:00 2001 From: greged93 <82421016+greged93@users.noreply.github.com> Date: Fri, 9 Aug 2024 19:49:18 +0200 Subject: [PATCH] feat: add stage run tests (#10164) --- .github/workflows/eth-sync.yml | 5 ++- .github/workflows/op-sync.yml | 6 ++- .github/workflows/stage.yml | 72 ++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/stage.yml diff --git a/.github/workflows/eth-sync.yml b/.github/workflows/eth-sync.yml index 54c0d96079..f473e29a57 100644 --- a/.github/workflows/eth-sync.yml +++ b/.github/workflows/eth-sync.yml @@ -6,7 +6,7 @@ on: pull_request: merge_group: push: - branches: [main] + branches: [ main ] env: CARGO_TERM_COLOR: always @@ -48,3 +48,6 @@ jobs: - name: Run stage unwind for 100 blocks run: | reth stage unwind num-blocks 100 + - name: Run stage unwind to block hash + run: | + reth stage unwind to-block 0x52e0509d33a988ef807058e2980099ee3070187f7333aae12b64d4d675f34c5a diff --git a/.github/workflows/op-sync.yml b/.github/workflows/op-sync.yml index 73303b032d..9f538b3280 100644 --- a/.github/workflows/op-sync.yml +++ b/.github/workflows/op-sync.yml @@ -6,7 +6,7 @@ on: pull_request: merge_group: push: - branches: [main] + branches: [ main ] env: CARGO_TERM_COLOR: always @@ -50,3 +50,7 @@ jobs: - name: Run stage unwind for 100 blocks run: | op-reth stage --chain base unwind num-blocks 100 + - name: Run stage unwind to block hash + run: | + reth stage unwind to-block 0x118a6e922a8c6cab221fc5adfe5056d2b72d58c6580e9c5629de55299e2cf8de + diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml new file mode 100644 index 0000000000..60ffa8f73d --- /dev/null +++ b/.github/workflows/stage.yml @@ -0,0 +1,72 @@ +# Runs all `stage run` commands. + +name: stage-test + +on: + pull_request: + merge_group: + push: + branches: [ main ] + +env: + CARGO_TERM_COLOR: always + FROM_BLOCK: 0 + TO_BLOCK: 50000 + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + stage: + name: stage-run-test + # Only run stage commands test in merge groups + if: github.event_name == 'merge_group' + runs-on: + group: Reth + env: + RUST_LOG: info,sync=error + RUST_BACKTRACE: 1 + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: Build reth + run: | + cargo install --features asm-keccak,jemalloc --path bin/reth + - name: Run headers stage + run: | + reth stage run headers --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run bodies stage + run: | + reth stage run bodies --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run senders stage + run: | + reth stage run senders --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run execution stage + run: | + reth stage run execution --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run account-hashing stage + run: | + reth stage run account-hashing --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run storage hashing stage + run: | + reth stage run storage-hashing --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run hashing stage + run: | + reth stage run hashing --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run merkle stage + run: | + reth stage run merkle --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run transaction lookup stage + run: | + reth stage run tx-lookup --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run account history stage + run: | + reth stage run account-history --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints + - name: Run storage history stage + run: | + reth stage run storage-history --from ${{ env.FROM_BLOCK }} --to ${{ env.TO_BLOCK }} --commit --checkpoints