fix(ci): allow large async errors on rust 1.98 (#466) #219
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
| name: CI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master, "**"] | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| fmt: | |
| name: Rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: rustup component add rustfmt | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: rustup component add clippy | |
| - name: Run clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| test: | |
| name: Tests | |
| runs-on: ubuntu-latest | |
| needs: [fmt, clippy] | |
| env: | |
| # The workspace is built twice (default features, then all features | |
| # including reth), linking every integration-test binary against the | |
| # full dependency tree of debug artifacts. At full debuginfo that | |
| # brushes the runner's free disk, and ld dies with SIGBUS when its | |
| # memory-mapped output hits a full disk. Line tables keep file:line in | |
| # test backtraces at a fraction of the size. | |
| CARGO_PROFILE_DEV_DEBUG: line-tables-only | |
| steps: | |
| # Reclaim ~15-20GB of preinstalled toolchains this job never uses — | |
| # headroom for the same disk cliff the debuginfo setting backs away from. | |
| - name: Free disk space | |
| run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/hostedtoolcache/CodeQL | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Install OpenSSL dev libraries | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get install -y libssl-dev pkg-config | |
| - name: Install cargo-nextest | |
| run: cargo install -q cargo-nextest --locked | |
| # nextest runs each test in its own process — required because docker-backed | |
| # tests under core/tests/e2e_*.rs mutate process env (DATABASE_URL etc.). | |
| - name: Run tests (default features) | |
| run: cargo nextest run --exclude rindexer_rust_playground --workspace | |
| - name: Run tests (all features including reth) | |
| run: cargo nextest run --exclude rindexer_rust_playground --workspace --all-features | |
| coverage: | |
| name: Coverage | |
| runs-on: ubuntu-latest | |
| needs: [fmt, clippy] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Install OpenSSL dev libraries | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get install -y libssl-dev pkg-config | |
| - name: Install cargo-llvm-cov and cargo-nextest | |
| run: cargo install -q cargo-llvm-cov cargo-nextest --locked | |
| - name: Run coverage | |
| run: cargo llvm-cov nextest -p rindexer -p rindexer_cli --all-features --lcov --output-path lcov.info | |
| - name: Upload to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: lcov.info | |
| fail_ci_if_error: true |