Some checks failed
☁️ Cloudflare Deployment / Deploy Workers (push) Has been cancelled
🚂 Railway Deployment / Deploy to Railway (push) Has been cancelled
🌐 Unified Multi-Platform Deployment / 🔍 Prepare (push) Has been cancelled
▲ Vercel Deployment / Deploy to Vercel (push) Has been cancelled
🌐 Unified Multi-Platform Deployment / 🚀 Deploy all platforms (push) Has been cancelled
🔒 Security Scanning / 📦 Dependencies (push) Failing after 40s
🔒 Security Scanning / 🔐 Secrets (push) Failing after 1m34s
💾 Automated Backup / 📦 Backup infrastructure (push) Failing after 45s
🏥 Infrastructure Health Monitoring / 🔍 Health Check (push) Successful in 2s
54 lines
2.4 KiB
YAML
54 lines
2.4 KiB
YAML
name: 🏥 Infrastructure Health Monitoring
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '*/15 * * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
health-check:
|
|
name: 🔍 Health Check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🚂 Railway
|
|
id: railway
|
|
continue-on-error: true
|
|
run: |
|
|
if [ -n "${{ secrets.RAILWAY_HEALTH_URL }}" ]; then
|
|
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${{ secrets.RAILWAY_HEALTH_URL }}")
|
|
[ "$STATUS" -eq 200 ] && echo "status=healthy" >> $GITHUB_OUTPUT || echo "status=unhealthy" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "status=skipped" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: ☁️ Cloudflare
|
|
id: cloudflare
|
|
continue-on-error: true
|
|
run: |
|
|
if [ -n "${{ secrets.CLOUDFLARE_HEALTH_URL }}" ]; then
|
|
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${{ secrets.CLOUDFLARE_HEALTH_URL }}")
|
|
[ "$STATUS" -eq 200 ] && echo "status=healthy" >> $GITHUB_OUTPUT || echo "status=unhealthy" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "status=skipped" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: ▲ Vercel
|
|
id: vercel
|
|
continue-on-error: true
|
|
run: |
|
|
if [ -n "${{ secrets.VERCEL_HEALTH_URL }}" ]; then
|
|
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${{ secrets.VERCEL_HEALTH_URL }}")
|
|
[ "$STATUS" -eq 200 ] && echo "status=healthy" >> $GITHUB_OUTPUT || echo "status=unhealthy" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "status=skipped" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: 📊 Report
|
|
run: |
|
|
echo "### 🏥 Infrastructure Health Report" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Platform | Status | Time |" >> $GITHUB_STEP_SUMMARY
|
|
echo "|----------|--------|------|" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Railway | ${{ steps.railway.outputs.status == 'healthy' && '✅' || steps.railway.outputs.status == 'skipped' && '⏭️' || '❌' }} | $(date -u '+%H:%M UTC') |" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Cloudflare | ${{ steps.cloudflare.outputs.status == 'healthy' && '✅' || steps.cloudflare.outputs.status == 'skipped' && '⏭️' || '❌' }} | $(date -u '+%H:%M UTC') |" >> $GITHUB_STEP_SUMMARY
|
|
echo "| Vercel | ${{ steps.vercel.outputs.status == 'healthy' && '✅' || steps.vercel.outputs.status == 'skipped' && '⏭️' || '❌' }} | $(date -u '+%H:%M UTC') |" >> $GITHUB_STEP_SUMMARY
|