Files
proxmox/scripts/dev-vm/bootstrap-phoenix-cicd.sh
defiQUG b8613905bd
Some checks failed
Deploy to Phoenix / validate (push) Failing after 15s
Deploy to Phoenix / deploy (push) Has been skipped
chore: sync workspace — configs, docs, scripts, CI, pnpm, submodules
- Submodule pins: dbis_core, cross-chain-pmm-lps, mcp-proxmox (local, push may be pending), metamask-integration, smom-dbis-138
- Atomic swap + cross-chain-pmm-lops-publish, deploy-portal workflow, phoenix deploy-targets, routing/aggregator matrices
- Docs, token-lists, forge proxy, phoenix API, runbooks, verify scripts

Made-with: Cursor
2026-04-21 22:01:33 -07:00

91 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Bootstrap the Phoenix deploy CI/CD path for this repo.
#
# Steps:
# 1. Run repo validation
# 2. Deploy phoenix-deploy-api to dev VM
# 3. Smoke-check /health and /api/deploy-targets
# 4. Optionally add a Gitea webhook for a repo that does not already deploy via Actions
#
# Usage:
# bash scripts/dev-vm/bootstrap-phoenix-cicd.sh
# bash scripts/dev-vm/bootstrap-phoenix-cicd.sh --repo d-bis/proxmox
# bash scripts/dev-vm/bootstrap-phoenix-cicd.sh --repo some/repo --add-webhook
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
[[ -f "${PROJECT_ROOT}/.env" ]] && set -a && source "${PROJECT_ROOT}/.env" && set +a
REPO="${PHOENIX_CICD_REPO:-d-bis/proxmox}"
ADD_WEBHOOK=0
DRY_RUN=0
while [[ $# -gt 0 ]]; do
case "$1" in
--repo)
REPO="${2:?--repo requires owner/repo}"
shift 2
;;
--add-webhook)
ADD_WEBHOOK=1
shift
;;
--dry-run)
DRY_RUN=1
shift
;;
*)
echo "Unknown argument: $1" >&2
exit 1
;;
esac
done
DEPLOY_HEALTH_URL="${PHOENIX_CICD_HEALTH_URL:-http://192.168.11.59:4001/health}"
DEPLOY_TARGETS_URL="${PHOENIX_CICD_TARGETS_URL:-http://192.168.11.59:4001/api/deploy-targets}"
echo "=== Phoenix CI/CD bootstrap ==="
echo "Repo: ${REPO}"
echo "Health URL: ${DEPLOY_HEALTH_URL}"
echo "Targets URL: ${DEPLOY_TARGETS_URL}"
echo "Add webhook: ${ADD_WEBHOOK}"
echo "Dry-run: ${DRY_RUN}"
echo ""
if [[ "${DRY_RUN}" -eq 1 ]]; then
echo "[DRY-RUN] bash scripts/verify/run-all-validation.sh --skip-genesis"
echo "[DRY-RUN] bash scripts/deployment/deploy-phoenix-deploy-api-to-dev-vm.sh --apply --start-ct"
echo "[DRY-RUN] curl -sS ${DEPLOY_HEALTH_URL}"
echo "[DRY-RUN] curl -sS ${DEPLOY_TARGETS_URL}"
if [[ "${ADD_WEBHOOK}" -eq 1 ]]; then
echo "[DRY-RUN] bash scripts/dev-vm/add-gitea-webhook-phoenix.sh ${REPO}"
fi
exit 0
fi
echo "[1/4] Validation gate..."
bash "${PROJECT_ROOT}/scripts/verify/run-all-validation.sh" --skip-genesis
echo ""
echo "[2/4] Deploy phoenix-deploy-api..."
bash "${PROJECT_ROOT}/scripts/deployment/deploy-phoenix-deploy-api-to-dev-vm.sh" --apply --start-ct
echo ""
echo "[3/4] Smoke checks..."
curl -sSf "${DEPLOY_HEALTH_URL}" | jq .
curl -sSf "${DEPLOY_TARGETS_URL}" | jq .
if [[ "${ADD_WEBHOOK}" -eq 1 ]]; then
echo ""
echo "[4/4] Add Gitea webhook (only for repos not already deploying via Actions)..."
bash "${PROJECT_ROOT}/scripts/dev-vm/add-gitea-webhook-phoenix.sh" "${REPO}"
else
echo ""
echo "[4/4] Webhook step skipped. Re-run with --add-webhook only for repos that are not already deploying via Gitea Actions."
fi
echo ""
echo "Done."