Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 1m19s
Build & Deploy / 🧪 QA (push) Failing after 3m32s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🏗️ Build (push) Failing after 7m51s
Build & Deploy / ⚡ Lighthouse (push) Has been skipped
Build & Deploy / 🧪 Smoke Test (push) Has been skipped
Build & Deploy / ♿ WCAG (push) Has been skipped
Build & Deploy / 🛡️ Quality Gates (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 10s
58 lines
1.8 KiB
Bash
Executable File
58 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# audit-local.sh
|
|
# Runs a high-fidelity Lighthouse audit locally using the Docker production stack.
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting High-Fidelity Local Audit..."
|
|
|
|
# 1. Environment and Infrastructure
|
|
export DOCKER_HOST="unix:///Users/marcmintel/.docker/run/docker.sock"
|
|
export IMGPROXY_URL="http://klz-imgproxy:8080"
|
|
export NEXT_URL="http://klz.localhost"
|
|
export NEXT_PUBLIC_CI=true
|
|
export CI=true
|
|
|
|
docker network create infra 2>/dev/null || true
|
|
docker volume create klz_db_data 2>/dev/null || true
|
|
|
|
# 2. Start infra services (DB, CMS, Gatekeeper)
|
|
echo "📦 Starting infrastructure services..."
|
|
# Using --remove-orphans to ensure a clean state
|
|
docker-compose up -d --remove-orphans klz-db klz-gatekeeper
|
|
|
|
# 3. Build and Start klz-app in Production Mode
|
|
echo "🏗️ Building and starting klz-app (Production)..."
|
|
# We bypass the dev override by explicitly using the base compose file
|
|
NEXT_PUBLIC_BASE_URL=$NEXT_URL \
|
|
NEXT_PUBLIC_CI=true \
|
|
docker-compose -f docker-compose.yml up -d --build klz-app
|
|
|
|
# 4. Wait for application to be ready
|
|
echo "⏳ Waiting for application to be healthy..."
|
|
MAX_RETRIES=30
|
|
RETRY_COUNT=0
|
|
|
|
until $(curl -s -f -o /dev/null "$NEXT_URL/health"); do
|
|
if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then
|
|
echo "❌ Error: App did not become healthy in time."
|
|
exit 1
|
|
fi
|
|
echo " ...waiting for $NEXT_URL/health"
|
|
sleep 2
|
|
RETRY_COUNT=$((RETRY_COUNT+1))
|
|
done
|
|
|
|
echo "✅ App is healthy at $NEXT_URL"
|
|
|
|
# 5. Run Lighthouse Audit
|
|
echo "⚡ Executing Lighthouse CI..."
|
|
NEXT_PUBLIC_BASE_URL=$NEXT_URL PAGESPEED_LIMIT=5 pnpm run pagespeed:test "$NEXT_URL"
|
|
|
|
echo "♿ Executing WCAG Audit..."
|
|
NEXT_PUBLIC_BASE_URL=$NEXT_URL PAGESPEED_LIMIT=10 pnpm run check:wcag "$NEXT_URL"
|
|
|
|
echo "✨ Audit completed! Summary above."
|
|
echo "💡 You can stop the production app with: docker-compose stop klz-app"
|