🐛 继续修修
Hello from ImmortalWrt / say-hello (push) Successful in 0s Details

This commit is contained in:
csh 2025-11-02 21:33:52 +08:00
parent 23a7fb5a28
commit 948bcfa787
1 changed files with 231 additions and 208 deletions

View File

@ -15,43 +15,43 @@ env:
# ===== 工作区配置 =====
# 完整克隆的工作目录
WORKSPACE_DIR: '/home/workspace'
WORKSPACE_DIR: "/home/workspace"
# ===== 分支配置 =====
# 徽章数据存储分支(可配置)
BADGE_BRANCH: 'stats'
BADGE_BRANCH: "stats"
# 徽章文件存储目录
BADGE_DIR: 'badges'
BADGE_DIR: "badges"
# ===== 排除配置 =====
# 全局排除的目录(这些目录会被完全忽略)
EXCLUDE_DIRS: 'node_modules,dist,build,out,target,vendor,.venv,venv,__pycache__,.git,.github'
EXCLUDE_DIRS: "node_modules,dist,build,out,target,vendor,.venv,venv,__pycache__,.git,.github"
# 特殊包含规则(即使在排除目录中,也统计这些扩展名的文件)
# 格式: 目录:扩展名列表
# 例如: 'dist:js,css' 表示即使 dist 被排除,也统计其中的 .js 和 .css 文件
SPECIAL_INCLUDES: ''
SPECIAL_INCLUDES: ""
# 示例: 'dist:js,css|vendor:go,mod'
# ===== 徽章颜色配置 =====
COLOR_TOTAL: 'blue'
COLOR_FILES: 'green'
COLOR_DEFAULT: 'brightgreen'
COLOR_TOTAL: "blue"
COLOR_FILES: "green"
COLOR_DEFAULT: "brightgreen"
# ===== 徽章样式配置 =====
BADGE_STYLE: 'flat' # 可选: flat, flat-square, plastic, for-the-badge, social
BADGE_STYLE: "flat" # 可选: flat, flat-square, plastic, for-the-badge, social
# ===== 输出配置 =====
# 是否生成详细报告
GENERATE_DETAILED_REPORT: 'true'
GENERATE_DETAILED_REPORT: "true"
# 是否输出到 workflow summary
OUTPUT_TO_SUMMARY: 'true'
OUTPUT_TO_SUMMARY: "true"
# 最小代码行数阈值(低于此值的语言不生成徽章)
MIN_LINES_THRESHOLD: '10'
MIN_LINES_THRESHOLD: "10"
# ===== Git 配置 =====
GIT_USER_NAME: 'github-actions[bot]'
GIT_USER_EMAIL: 'github-actions[bot]@users.noreply.github.com'
GIT_USER_NAME: "github-actions[bot]"
GIT_USER_EMAIL: "github-actions[bot]@users.noreply.github.com"
# ==========================================
# 🎨 语言分组配置
@ -101,7 +101,71 @@ jobs:
echo "🌿 分支: ${{ github.ref_name }}"
echo "📝 提交: ${GITHUB_SHA:0:7}"
- name: 📥 克隆主仓库(完整模式)
- name: 🔧 检查必需工具
id: check_deps
run: |
echo "======================================"
echo "🔍 检查依赖工具"
echo "======================================"
MISSING_TOOLS=()
# 检查 bc用于数字计算
if ! command -v bc &> /dev/null; then
echo "⚠️ bc 未安装"
MISSING_TOOLS+=("bc")
else
echo "✓ bc 已安装"
fi
# 检查 jq用于 JSON 处理)
if ! command -v jq &> /dev/null; then
echo "⚠️ jq 未安装"
MISSING_TOOLS+=("jq")
else
echo "✓ jq 已安装"
fi
# 如果有缺失的工具,安装它们
if [ ${#MISSING_TOOLS[@]} -gt 0 ]; then
echo ""
echo "📦 安装缺失的工具: ${MISSING_TOOLS[*]}"
# 🔧 智能判断是否需要 sudo
# Docker 环境通常以 root 运行,不需要 sudo
if [ "$EUID" -eq 0 ] || [ "$(id -u)" -eq 0 ]; then
# 当前是 root 用户,直接执行
echo "🔑 检测到 root 权限,直接安装"
apt-get update -qq
apt-get install -y -qq "${MISSING_TOOLS[@]}"
elif command -v sudo &> /dev/null; then
# 有 sudo 命令,使用 sudo
echo "🔑 使用 sudo 安装"
sudo apt-get update -qq
sudo apt-get install -y -qq "${MISSING_TOOLS[@]}"
else
# 既不是 root 也没有 sudo
echo "❌ 错误:没有足够权限安装工具"
echo "请在 Docker 镜像中预装以下工具:"
echo " ${MISSING_TOOLS[*]}"
echo ""
echo "方案1: 使用包含这些工具的镜像"
echo "方案2: 在 Dockerfile 中添加:"
echo " RUN apt-get update && apt-get install -y bc jq"
exit 1
fi
echo "installed=true" >> $GITHUB_OUTPUT
echo "✅ 工具安装完成"
else
echo "installed=false" >> $GITHUB_OUTPUT
echo "✅ 所有工具已就绪"
fi
echo "======================================"
echo ""
- name: 📥 克隆主仓库
id: clone_main
run: |
echo "======================================"
@ -203,7 +267,7 @@ jobs:
echo "======================================"
echo ""
- name: 🔧 准备统计分支
- name: ⚙️ 准备统计分支
id: prepare_stats_branch
run: |
echo "======================================"
@ -238,7 +302,7 @@ jobs:
echo "======================================"
echo ""
- name: 🆕 创建统计分支(如需要)
- name: 🌱 创建统计分支
if: steps.prepare_stats_branch.outputs.branch_exists == 'false'
run: |
echo "======================================"
@ -354,47 +418,6 @@ jobs:
echo "✓ 已切换回主分支"
echo ""
- name: 🔍 检查必需工具
id: check_deps
run: |
echo "======================================"
echo "🔍 检查依赖工具"
echo "======================================"
MISSING_TOOLS=()
# 检查 bc用于数字计算
if ! command -v bc &> /dev/null; then
echo "⚠️ bc 未安装"
MISSING_TOOLS+=("bc")
else
echo "✓ bc 已安装"
fi
# 检查 jq用于 JSON 处理)
if ! command -v jq &> /dev/null; then
echo "⚠️ jq 未安装"
MISSING_TOOLS+=("jq")
else
echo "✓ jq 已安装"
fi
# 如果有缺失的工具,安装它们
if [ ${#MISSING_TOOLS[@]} -gt 0 ]; then
echo ""
echo "📦 安装缺失的工具: ${MISSING_TOOLS[*]}"
sudo apt-get update -qq
sudo apt-get install -y -qq "${MISSING_TOOLS[@]}"
echo "installed=true" >> $GITHUB_OUTPUT
echo "✅ 工具安装完成"
else
echo "installed=false" >> $GITHUB_OUTPUT
echo "✅ 所有工具已就绪"
fi
echo "======================================"
echo ""
- name: 📊 统计总代码量
id: total
run: |
@ -804,7 +827,7 @@ jobs:
echo "======================================"
echo ""
- name: 📊 生成 Workflow Summary
- name: 📈 生成 Workflow Summary
if: env.OUTPUT_TO_SUMMARY == 'true' && success()
run: |
cat >> $GITHUB_STEP_SUMMARY << 'EOFSUMMARY'
@ -875,7 +898,7 @@ jobs:
echo "" >> $GITHUB_STEP_SUMMARY
echo "*⏱️ 执行时间: $(date '+%Y-%m-%d %H:%M:%S %Z')*" >> $GITHUB_STEP_SUMMARY
- name: 📋 输出使用说明
- name: 💡 输出使用说明
if: success()
run: |
echo "================================================"