chore: sync all changes to Gitea
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
This commit is contained in:
85
scripts/deployment/run-before-deploy-checks.sh
Executable file
85
scripts/deployment/run-before-deploy-checks.sh
Executable file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env bash
|
||||
# Run all checkable "before deploy" items from RECOMMENDATIONS_AND_FIXES_BEFORE_DEPLOY.md.
|
||||
# Usage: ./scripts/deployment/run-before-deploy-checks.sh [--cost] [--alltra] [--on-chain] [--skip-build]
|
||||
# --cost Run preflight with --cost (gas estimate).
|
||||
# --alltra Include alltra-lifi-settlement in contract tests (slower).
|
||||
# --on-chain Run check-contracts-on-chain-138.sh (requires RPC).
|
||||
# --skip-build Skip forge build; use existing artifacts (step 3 and test script both skip build).
|
||||
#
|
||||
# Requires: run from repo root; forge in PATH.
|
||||
# See: docs/03-deployment/RECOMMENDATIONS_AND_FIXES_BEFORE_DEPLOY.md
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
RUN_COST=""
|
||||
RUN_ALLTRA=""
|
||||
RUN_ONCHAIN=""
|
||||
SKIP_BUILD=""
|
||||
FAILED=0
|
||||
|
||||
for a in "$@"; do
|
||||
case "$a" in
|
||||
--cost) RUN_COST=1 ;;
|
||||
--alltra) RUN_ALLTRA=1 ;;
|
||||
--on-chain) RUN_ONCHAIN=1 ;;
|
||||
--skip-build) SKIP_BUILD=1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "=== Before-deploy checks (recommendations and fixes) ==="
|
||||
echo ""
|
||||
|
||||
# 1) Preflight
|
||||
echo "--- 1. Preflight (RPC, dotenv, nonce) ---"
|
||||
if [[ -n "$RUN_COST" ]]; then
|
||||
if "$SCRIPT_DIR/preflight-chain138-deploy.sh" --cost; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
else
|
||||
if "$SCRIPT_DIR/preflight-chain138-deploy.sh"; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 2) Env check (smom-dbis-138)
|
||||
echo "--- 2. Env check (smom-dbis-138) ---"
|
||||
if (cd "$PROJECT_ROOT/smom-dbis-138" && ./scripts/deployment/check-env-required.sh) >/dev/null 2>&1; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
echo ""
|
||||
|
||||
# 3) Forge build (skip if --skip-build)
|
||||
echo "--- 3. Forge build (smom-dbis-138) ---"
|
||||
if [[ -n "$SKIP_BUILD" ]]; then
|
||||
echo " SKIP (--skip-build)"
|
||||
else
|
||||
if (cd "$PROJECT_ROOT/smom-dbis-138" && forge build) >/dev/null 2>&1; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 4) Contract tests (skip build here; use step 3 build or existing artifacts)
|
||||
echo "--- 4. Contract tests (unit; use --alltra for e2e) ---"
|
||||
if [[ -n "$RUN_ALLTRA" ]]; then
|
||||
if "$SCRIPT_DIR/test-all-contracts-before-deploy.sh" --alltra --skip-build 2>/dev/null; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
else
|
||||
if "$SCRIPT_DIR/test-all-contracts-before-deploy.sh" --no-match "Fork|Mainnet|Integration|e2e" --skip-build 2>/dev/null; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 5) Config validation
|
||||
echo "--- 5. Config validation ---"
|
||||
if (cd "$PROJECT_ROOT" && bash scripts/validation/validate-config-files.sh) >/dev/null 2>&1; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
echo ""
|
||||
|
||||
# 6) On-chain verification (optional)
|
||||
if [[ -n "$RUN_ONCHAIN" ]]; then
|
||||
echo "--- 6. On-chain verification (Chain 138) ---"
|
||||
if (cd "$PROJECT_ROOT" && ./scripts/verify/check-contracts-on-chain-138.sh) >/dev/null 2>&1; then echo " PASS"; else echo " FAIL"; FAILED=$((FAILED+1)); fi
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "=== Summary ==="
|
||||
if [[ $FAILED -eq 0 ]]; then
|
||||
echo "All checkable items passed. Complete remaining operator items (gas, POOL_MANAGER_ROLE, RPC writable if needed) per RECOMMENDATIONS_AND_FIXES_BEFORE_DEPLOY.md."
|
||||
exit 0
|
||||
else
|
||||
echo "$FAILED check(s) failed. Fix and re-run."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user