mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-19 03:04:27 -05:00
112 lines
2.4 KiB
Bash
Executable File
112 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -uo pipefail
|
|
|
|
readarray -t crates < <(
|
|
cargo metadata --format-version=1 --no-deps | jq -r '.packages[].name' | grep '^reth' | sort
|
|
)
|
|
|
|
# shellcheck disable=SC2034
|
|
exclude_crates=(
|
|
# The following require investigation if they can be fixed
|
|
reth-basic-payload-builder
|
|
reth-bench
|
|
reth-bench-compare
|
|
reth-cli
|
|
reth-cli-commands
|
|
reth-cli-runner
|
|
reth-consensus-debug-client
|
|
reth-db-common
|
|
reth-discv4
|
|
reth-discv5
|
|
reth-dns-discovery
|
|
reth-downloaders
|
|
reth-e2e-test-utils
|
|
reth-engine-service
|
|
reth-engine-tree
|
|
reth-engine-util
|
|
reth-eth-wire
|
|
reth-ethereum-cli
|
|
reth-ethereum-payload-builder
|
|
reth-etl
|
|
reth-exex
|
|
reth-exex-test-utils
|
|
reth-ipc
|
|
reth-net-nat
|
|
reth-network
|
|
reth-node-api
|
|
reth-node-builder
|
|
reth-node-core
|
|
reth-node-ethereum
|
|
reth-node-events
|
|
reth-node-metrics
|
|
reth-rpc
|
|
reth-rpc-api
|
|
reth-rpc-api-testing-util
|
|
reth-rpc-builder
|
|
reth-rpc-convert
|
|
reth-rpc-e2e-tests
|
|
reth-rpc-engine-api
|
|
reth-rpc-eth-api
|
|
reth-rpc-eth-types
|
|
reth-rpc-layer
|
|
reth-stages
|
|
reth-engine-local
|
|
reth-ress-protocol
|
|
reth-ress-provider
|
|
# The following are not supposed to be working
|
|
reth # all of the crates below
|
|
reth-storage-rpc-provider
|
|
reth-invalid-block-hooks # reth-provider
|
|
reth-libmdbx # mdbx
|
|
reth-mdbx-sys # mdbx
|
|
reth-payload-builder # reth-metrics
|
|
reth-provider # tokio
|
|
reth-prune # tokio
|
|
reth-prune-static-files # reth-provider
|
|
reth-tasks # tokio rt-multi-thread
|
|
reth-stages-api # reth-provider, reth-prune
|
|
reth-static-file # tokio
|
|
reth-transaction-pool # c-kzg
|
|
reth-payload-util # reth-transaction-pool
|
|
reth-trie-parallel # tokio
|
|
reth-trie-sparse-parallel # rayon
|
|
reth-testing-utils
|
|
reth-era-downloader # tokio
|
|
reth-era-utils # tokio
|
|
reth-tracing-otlp
|
|
reth-node-ethstats
|
|
)
|
|
|
|
any_failed=0
|
|
tmpdir=$(mktemp -d 2>/dev/null || mktemp -d -t reth-check)
|
|
trap 'rm -rf -- "$tmpdir"' EXIT INT TERM
|
|
|
|
contains() {
|
|
local array="$1[@]"
|
|
local seeking="$2"
|
|
local element
|
|
for element in "${!array}"; do
|
|
[[ "$element" == "$seeking" ]] && return 0
|
|
done
|
|
return 1
|
|
}
|
|
|
|
for crate in "${crates[@]}"; do
|
|
if contains exclude_crates "$crate"; then
|
|
echo "⏭️ $crate"
|
|
continue
|
|
fi
|
|
|
|
outfile="$tmpdir/$crate.log"
|
|
if cargo +stable build -p "$crate" --target wasm32-wasip1 --no-default-features --color never >"$outfile" 2>&1; then
|
|
echo "✅ $crate"
|
|
else
|
|
echo "❌ $crate"
|
|
sed 's/^/ /' "$outfile"
|
|
echo ""
|
|
any_failed=1
|
|
fi
|
|
done
|
|
|
|
exit $any_failed
|