Skill

Owner: Hawkeye · Team: Dev Team · Source: ~/.openclaw/dev-shared/skills/deploy-verify/SKILL.md

Production deploy of Asset Rise (or Asset Rise Admin) plus post-deploy verification. Use when shipping merged work to asset-rise.byclick.co.il: pre-conditions, the deploy script and —force flag, HTTP 200 verification, route spot-checks, rollback path. Never docker compose up.


Playbook (mirrored from disk)

Deploy & Verify — Asset Rise Production

Pre-conditions (all required)

  • qa-gate PASS on the exact commit being shipped.
  • Yossef’s approval logged per platform/policies.md (production deploys are gated).
  • Work merged to main and pushed:
git -C ~/silver-castle push origin main

Deploy

sudo ~/auto-deploy-silver-castle.sh          # normal
sudo ~/auto-deploy-silver-castle.sh --force  # no-cache rebuild — when deps or static assets changed

(Script name is frozen; it pulls main and queues a Coolify deployment.) NEVER docker compose up directly — Coolify owns the containers.

Migrations

Auto-run on api container boot — no manual step. This is safe ONLY because every migration is idempotent (see db-migration skill); a non-idempotent statement makes the boot fail on every deploy → that’s a rollback, not a hotfix-in-prod.

Verify (mandatory — the deploy is not done until this passes)

Wait for the rebuild (a few minutes), then:

curl -sI https://asset-rise.byclick.co.il    # expect HTTP 200

Spot-check what changed:

  • changed route(s): curl -sI https://asset-rise.byclick.co.il/<route> → 200
  • api alive: curl -s https://asset-rise.byclick.co.il/api/health
  • UI changes: confirm the change is actually served (SPA shell may be cached — check the asset hash in the served HTML, hard-refresh).

On failure

  1. Report immediately: what failed (build, boot loop, 5xx, wrong content) with evidence.
  2. Rollback = redeploy the previous good commit:
git -C ~/silver-castle revert <bad-sha> && git -C ~/silver-castle push origin main
sudo ~/auto-deploy-silver-castle.sh
  1. Re-verify 200 on the rolled-back deploy, then diagnose offline in a worktree.

Admin app (admin.byclick.co.il) deploys via Coolify UI / queue_application_deployment (UUID a2g8zsq45h19x8790xvt9wz9); apply the same verify discipline.