Files
wevads-platform/scripts/post-dev-protect.sh

59 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# ╔═══════════════════════════════════════════════════════════════╗
# ║ POST-DEV PROTECT — Git + Vault Auto-Protect ║
# ║ Usage: ./post-dev-protect.sh "commit message" ║
# ║ Actions: vault gold → git add → commit → push ║
# ╚═══════════════════════════════════════════════════════════════╝
set -e
LOG=/opt/wevads/logs/post-dev-protect.log
VAULT=/opt/wevads/vault
REPO=/opt/wevads
TS="$(date '+%Y-%m-%d %H:%M:%S')"
MSG="${1:-AUTO-PROTECT $(date '+%Y%m%d-%H%M')}"
log() { echo "[$TS] $1" | tee -a "$LOG"; }
log "===== POST-DEV PROTECT START ====="
# 1. VAULT GOLD UPDATE
log "Step 1: Updating vault gold..."
UPDATED=0
cd "$REPO"
for f in $(git diff --name-only 2>/dev/null; git ls-files --others --exclude-standard 2>/dev/null); do
full="$REPO/$f"
[ -f "$full" ] || continue
base="$(basename "$f")"
ext="${base##*.}"
case "$ext" in
html|php|js|sh|css|py)
cp "$full" "$VAULT/${base}.gold" 2>/dev/null && UPDATED=$((UPDATED+1))
;;
esac
done
log " Vault: $UPDATED files updated"
cd "$VAULT" && md5sum *.gold > checksums.md5 2>/dev/null
CKCOUNT="$(wc -l < checksums.md5)"
log " Checksums: $CKCOUNT gold files"
# 2. GIT COMMIT + PUSH
log "Step 2: Git add + commit + push..."
cd "$REPO"
git add -A 2>/dev/null
STAGED="$(git diff --cached --name-only | wc -l)"
if [ "$STAGED" -gt 0 ]; then
git commit -m "$MSG" 2>&1 | tail -1
log " Committed: $STAGED files"
if git push origin main 2>&1 | tail -1; then
log " Pushed to GitHub"
else
log " Push FAILED"
fi
else
log " Nothing to commit"
fi
# 3. SUMMARY
log "===== POST-DEV PROTECT DONE ====="
log "Vault=$UPDATED gold | Git=$STAGED staged | $MSG"
echo "PROTECTED: vault=$UPDATED gold, git=$STAGED files"