# Runs integration tests. name: integration on: pull_request: merge_group: push: branches: [main] env: CARGO_TERM_COLOR: always SEED: rustethereumethereumrust concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: name: test / ${{ matrix.network }} runs-on: group: Reth env: RUST_BACKTRACE: 1 strategy: matrix: network: ["ethereum", "optimism"] timeout-minutes: 60 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - name: Install Geth run: .github/assets/install_geth.sh - uses: taiki-e/install-action@nextest - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true - if: matrix.network == 'ethereum' name: Run tests run: | cargo nextest run \ --locked --features "asm-keccak ${{ matrix.network }}" \ --workspace --exclude ef-tests \ -E "kind(test)" - if: matrix.network == 'optimism' name: Run tests run: | cargo nextest run \ --locked -p reth-optimism-node --features "optimism" integration-success: name: integration success runs-on: ubuntu-latest if: always() needs: [test] timeout-minutes: 30 steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: jobs: ${{ toJSON(needs) }}