diff --git a/.github/assets/hive/build_simulators.sh b/.github/assets/hive/build_simulators.sh index 86a9a750c7..d05bc48c7f 100755 --- a/.github/assets/hive/build_simulators.sh +++ b/.github/assets/hive/build_simulators.sh @@ -20,18 +20,21 @@ echo "Building images" ./hive -client reth --sim "ethereum/sync" -sim.timelimit 1s || true & wait -# Run docker save in parallel and wait +# Run docker save in parallel, wait and exit on error echo "Saving images" -docker save hive/hiveproxy:latest -o ../hive_assets/hiveproxy.tar & -docker save hive/simulators/devp2p:latest -o ../hive_assets/devp2p.tar & -docker save hive/simulators/ethereum/engine:latest -o ../hive_assets/engine.tar & -docker save hive/simulators/ethereum/rpc-compat:latest -o ../hive_assets/rpc_compat.tar & -docker save hive/simulators/ethereum/eest/consume-engine:latest -o ../hive_assets/eest_engine.tar & -docker save hive/simulators/ethereum/eest/consume-rlp:latest -o ../hive_assets/eest_rlp.tar & -docker save hive/simulators/smoke/genesis:latest -o ../hive_assets/smoke_genesis.tar & -docker save hive/simulators/smoke/network:latest -o ../hive_assets/smoke_network.tar & -docker save hive/simulators/ethereum/sync:latest -o ../hive_assets/ethereum_sync.tar & -wait +saving_pids=( ) +docker save hive/hiveproxy:latest -o ../hive_assets/hiveproxy.tar & saving_pids+=( $! ) +docker save hive/simulators/devp2p:latest -o ../hive_assets/devp2p.tar & saving_pids+=( $! ) +docker save hive/simulators/ethereum/engine:latest -o ../hive_assets/engine.tar & saving_pids+=( $! ) +docker save hive/simulators/ethereum/rpc-compat:latest -o ../hive_assets/rpc_compat.tar & saving_pids+=( $! ) +docker save hive/simulators/ethereum/eest/consume-engine:latest -o ../hive_assets/eest_engine.tar & saving_pids+=( $! ) +docker save hive/simulators/ethereum/eest/consume-rlp:latest -o ../hive_assets/eest_rlp.tar & saving_pids+=( $! ) +docker save hive/simulators/smoke/genesis:latest -o ../hive_assets/smoke_genesis.tar & saving_pids+=( $! ) +docker save hive/simulators/smoke/network:latest -o ../hive_assets/smoke_network.tar & saving_pids+=( $! ) +docker save hive/simulators/ethereum/sync:latest -o ../hive_assets/ethereum_sync.tar & saving_pids+=( $! ) +for pid in "${saving_pids[@]}"; do + wait "$pid" || exit +done # Make sure we don't rebuild images on the CI jobs git apply ../.github/assets/hive/no_sim_build.diff