First Init
Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
# Configuration Backup Script for WorkRoot Website
|
||||
# Backs up critical config files and environment variables
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
BACKUP_DIR="$PROJECT_ROOT/backups/pre-deploy"
|
||||
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||
BACKUP_FILE="$BACKUP_DIR/config-$TIMESTAMP.tar.gz"
|
||||
LOG_FILE="$PROJECT_ROOT/backups/backup.log"
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
log "${GREEN}Starting configuration backup...${NC}"
|
||||
|
||||
# Configuration files to backup
|
||||
CONFIG_FILES=(
|
||||
"astro.config.mjs"
|
||||
"tailwind.config.mjs"
|
||||
"playwright.config.ts"
|
||||
"tsconfig.json"
|
||||
"package.json"
|
||||
"package-lock.json"
|
||||
".env"
|
||||
".env.example"
|
||||
"src/middleware.ts"
|
||||
"src/content/config.ts"
|
||||
)
|
||||
|
||||
# Filter out non-existent files
|
||||
EXISTING_FILES=()
|
||||
for file in "${CONFIG_FILES[@]}"; do
|
||||
if [ -e "$PROJECT_ROOT/$file" ]; then
|
||||
EXISTING_FILES+=("$file")
|
||||
fi
|
||||
done
|
||||
|
||||
# Create backup
|
||||
cd "$PROJECT_ROOT"
|
||||
tar -czf "$BACKUP_FILE" "${EXISTING_FILES[@]}" 2>/dev/null
|
||||
|
||||
# Verify
|
||||
if [ ! -f "$BACKUP_FILE" ]; then
|
||||
log "ERROR: Config backup failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
|
||||
log "${GREEN}Configuration backup completed${NC}"
|
||||
log "Location: $BACKUP_FILE"
|
||||
log "Size: $BACKUP_SIZE"
|
||||
|
||||
# Create latest symlink
|
||||
ln -sf "$BACKUP_FILE" "$BACKUP_DIR/latest-config.tar.gz"
|
||||
|
||||
# Cleanup (keep last 10 config backups)
|
||||
cd "$BACKUP_DIR"
|
||||
ls -t config-*.tar.gz 2>/dev/null | tail -n +11 | xargs -r rm -f
|
||||
log "Old config backups cleaned up (kept last 10)"
|
||||
|
||||
echo -e "${GREEN}✓ Configuration backup completed${NC}"
|
||||
echo -e " Location: $BACKUP_FILE"
|
||||
echo -e " Size: $BACKUP_SIZE"
|
||||
Reference in New Issue
Block a user