域名健康检查 #317
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 域名健康检查 | |
| on: | |
| schedule: | |
| - cron: '0 */12 * * *' # 每12小时运行一次 | |
| workflow_dispatch: # 支持手动触发 | |
| jobs: | |
| health-check: | |
| # 添加仓库检查,确保只在主仓库运行 | |
| if: github.repository == 'bestzwei/LibreDomains' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| actions: read | |
| steps: | |
| - name: 检出代码 | |
| uses: actions/checkout@v4 | |
| - name: 设置 Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| cache: 'pip' | |
| - name: 安装依赖 | |
| run: pip install requests dnspython | |
| - name: 运行域名健康检查 | |
| run: | | |
| # 设置 Python 路径以便正确导入模块 | |
| export PYTHONPATH=$PYTHONPATH:$(pwd) | |
| echo "🚀 开始域名健康检查..." | |
| echo "📅 检查时间: $(date '+%Y-%m-%d %H:%M:%S UTC')" | |
| echo "🔧 触发方式: ${{ github.event_name }}" | |
| echo "📍 仓库: ${{ github.repository }}" | |
| echo "" | |
| # 运行健康检查,只显示摘要信息 | |
| if python scripts/health/domain_health.py --summary-only; then | |
| echo "" | |
| echo "✅ 域名健康检查完成" | |
| exit 0 | |
| else | |
| echo "" | |
| echo "⚠️ 发现域名健康问题,请查看上方详细信息" | |
| echo "💡 提示: 可以手动运行检查获取更多详细信息:" | |
| echo " python scripts/health/domain_health.py" | |
| exit 1 | |
| fi | |
| - name: 检查失败通知 | |
| if: failure() | |
| run: | | |
| echo "❌ 域名健康检查失败" | |
| echo "📋 可能的原因:" | |
| echo " 1. DNS 解析问题" | |
| echo " 2. 网络连接问题" | |
| echo " 3. 域名配置错误" | |
| echo " 4. 服务器响应超时" | |
| echo "" | |
| echo "🔧 建议操作:" | |
| echo " 1. 检查域名配置文件" | |
| echo " 2. 验证 DNS 记录设置" | |
| echo " 3. 手动运行健康检查脚本进行调试" | |
| - name: Fork 仓库提示 | |
| if: github.repository != 'bestzwei/LibreDomains' | |
| run: | | |
| echo "ℹ️ 此工作流仅在主仓库 bestzwei/LibreDomains 中运行" | |
| echo "📝 Fork 仓库无需运行域名健康检查" | |
| echo "🔍 如需测试域名配置,请使用验证脚本:" | |
| echo " python scripts/health/domain_health.py --help" |