name: Test on: push: branches: - main pull_request: branches: - main types: - opened - synchronize concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true env: CARGO_TERM_COLOR: always jobs: ci: name: CI on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-24.04 - macos-14 steps: - name: Checkout repo uses: actions/checkout@v4 - name: Setup Rust toolchain uses: actions-rust-lang/setup-rust-toolchain@v1 with: rustflags: "" # ────────────── Install geth ────────────── - name: Install Geth on Ubuntu if: matrix.os == 'ubuntu-24.04' run: | sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install -y ethereum - name: Install Geth on macOS if: matrix.os == 'macos-14' run: | brew tap ethereum/ethereum brew install ethereum - name: Machete uses: bnjbvr/cargo-machete@v0.7.1 - name: Format run: make format - name: Clippy run: make clippy - name: Test cargo workspace run: make test