fix(l1): ethrex-replay
block execution in different networks (#3992)
#1969
This file contains hidden or 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
# TODO: uncomment "if: ${{ always() && github.event_name == 'merge_group' }}" lines when reenabling this workflow in the merge queue | |
name: L2 (SP1 Backend) | |
on: | |
push: | |
branches: ["main"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
DOCKER_ETHREX_WORKDIR: /usr/local/bin | |
PROVER: sp1 | |
jobs: | |
test: | |
name: Integration Test Prover SP1 | |
runs-on: gpu | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup Rust Environment | |
uses: ./.github/actions/setup-rust | |
- name: Check solc | |
run: solc --version | |
- name: RISC-V SP1 toolchain install | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
. "$HOME/.cargo/env" | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --version 5.0.8 | |
- name: Set up Docker Buildx | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
uses: docker/setup-buildx-action@v3 | |
# This step is needed because of an state bug in the GPU runner. | |
# Issue to fix this: https://github.com/lambdaclass/ethrex/pull/2741. | |
- name: Clean .env | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: rm -rf crates/l2/.env | |
- name: Build prover | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: | | |
cd crates/l2 | |
make build-prover | |
- name: Build test | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: | | |
cargo test l2 --no-run --release | |
- name: Start L1 & Deploy contracts | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: | | |
touch cmd/.env | |
cd crates/l2 | |
DOCKER_ETHREX_WORKDIR=/usr/local/bin \ | |
ETHREX_DEPLOYER_DEPLOY_RICH=true \ | |
ETHREX_DEPLOYER_SP1_DEPLOY_VERIFIER=true \ | |
docker compose up --build contract_deployer | |
- name: Ensure admin permissions in _work | |
run: sudo chown admin:admin -R /home/admin/actions-runner/_work/ | |
- name: Start Sequencer | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: | | |
cd crates/l2 | |
DOCKER_ETHREX_WORKDIR=/usr/local/bin \ | |
ETHREX_PROPOSER_BLOCK_TIME=12000 \ | |
ETHREX_COMMITTER_COMMIT_TIME=180000 \ | |
docker compose up --build --detach --no-deps ethrex_l2 | |
- name: Run test | |
# if: ${{ always() && github.event_name == 'merge_group' }} | |
run: | | |
cd crates/l2 | |
RUST_LOG=info,ethrex_prover_lib=debug SP1_PROVER=cuda make init-prover & | |
PROPOSER_COINBASE_ADDRESS=0x0007a881CD95B1484fca47615B64803dad620C8d cargo test l2 --release -- --nocapture --test-threads=1 | |
killall ethrex -s SIGINT | |
- name: Destroy Docker containers | |
if: always() | |
run: | | |
cd crates/l2 | |
docker compose down | |
- name: Ensure admin permissions in _work | |
if: always() | |
run: sudo chown admin:admin -R /home/admin/actions-runner/_work/ |