# Test that local testnet starts successfully. name: local testnet on: push: branches: - unstable pull_request: merge_group: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: run-local-testnet: strategy: matrix: os: - ubuntu-22.04 - macos-12 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Get latest version of stable Rust run: rustup update stable - name: Install geth (ubuntu) if: matrix.os == 'ubuntu-22.04' run: | sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt-get update sudo apt-get install ethereum - name: Install geth (mac) if: matrix.os == 'macos-12' run: | brew tap ethereum/ethereum brew install ethereum - name: Install GNU sed & GNU grep if: matrix.os == 'macos-12' run: | brew install gnu-sed grep echo "$(brew --prefix)/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH echo "$(brew --prefix)/opt/grep/libexec/gnubin" >> $GITHUB_PATH # https://github.com/actions/cache/blob/main/examples.md#rust---cargo - uses: actions/cache@v3 id: cache-cargo with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Install lighthouse run: make && make install-lcli - name: Start local testnet run: ./start_local_testnet.sh genesis.json && sleep 60 working-directory: scripts/local_testnet - name: Print logs run: ./dump_logs.sh working-directory: scripts/local_testnet - name: Stop local testnet run: ./stop_local_testnet.sh working-directory: scripts/local_testnet - name: Clean-up testnet run: ./clean.sh working-directory: scripts/local_testnet - name: Start local testnet with blinded block production run: ./start_local_testnet.sh -p genesis.json && sleep 60 working-directory: scripts/local_testnet - name: Print logs for blinded block testnet run: ./dump_logs.sh working-directory: scripts/local_testnet - name: Stop local testnet with blinded block production run: ./stop_local_testnet.sh working-directory: scripts/local_testnet