55 lines
1.3 KiB
Bash
Executable File
55 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
OUT_DIR="${1:?usage: collect_ledger_verify.sh <out_dir>}"
|
|
mkdir -p "$OUT_DIR"
|
|
|
|
CANDIDATES=(
|
|
"ledger"
|
|
"ledger-cli"
|
|
"../vm-ledger/target/release/ledger"
|
|
"../vm-ledger/target/release/ledger-cli"
|
|
"../vm-ledger/target/debug/ledger"
|
|
"../vm-ledger/target/debug/ledger-cli"
|
|
"../vm-ledger/bin/ledger"
|
|
"../vm-ledger/bin/ledger-cli"
|
|
"../vm-ledger/ledger"
|
|
"../vm-ledger/ledger-cli"
|
|
)
|
|
|
|
LEDGER_BIN=""
|
|
for c in "${CANDIDATES[@]}"; do
|
|
if [[ "$c" == "ledger" || "$c" == "ledger-cli" ]]; then
|
|
if command -v "$c" >/dev/null 2>&1; then
|
|
LEDGER_BIN="$c"
|
|
break
|
|
fi
|
|
else
|
|
if [[ -x "$c" ]]; then
|
|
LEDGER_BIN="$c"
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
|
|
LEDGER_DIR="${VMCC_LEDGER_DIR:-../vm-ledger/log}"
|
|
if [[ ! -d "$LEDGER_DIR" ]]; then
|
|
cat > "$OUT_DIR/ledger_verify.json" <<JSON
|
|
{"collected": false, "reason": "ledger dir not found: $LEDGER_DIR"}
|
|
JSON
|
|
exit 0
|
|
fi
|
|
|
|
if [[ -z "$LEDGER_BIN" ]]; then
|
|
cat > "$OUT_DIR/ledger_verify.json" <<'JSON'
|
|
{"collected": false, "reason": "ledger CLI not found"}
|
|
JSON
|
|
exit 0
|
|
fi
|
|
|
|
if ! "$LEDGER_BIN" verify --dir "$LEDGER_DIR" --format json > "$OUT_DIR/ledger_verify.json" 2> "$OUT_DIR/ledger_verify.stderr"; then
|
|
cat > "$OUT_DIR/ledger_verify.json" <<JSON
|
|
{"collected": false, "reason": "$(basename "$LEDGER_BIN") verify failed"}
|
|
JSON
|
|
fi
|