better logs for Cleanup Extra Files

This commit is contained in:
2025-06-08 21:28:25 +02:00
parent 1c719c21dd
commit be6d0416f3

View File

@@ -673,17 +673,12 @@ jobs:
echo "README generation completed successfully."
- name: Cleanup Extraneous Files
- name: Cleanup Extra Files
shell: bash
run: |
set -euo pipefail
echo "[Cleanup Extraneous Files Started]"
echo " DANSER_SKINS_DIR= $DANSER_SKINS_DIR"
echo " REPO_SCREENSHOT_DIR=$REPO_SCREENSHOT_DIR"
echo " REPO_RANKING_PANEL_DIR=$REPO_RANKING_PANEL_DIR"
echo " REPO_MOD_ICONS_DIR=$REPO_MOD_ICONS_DIR"
echo " OSK_PATH= $OSK_PATH"
echo "[Cleanup Extra Files Started]"
rm -rf src/docs || true
rm -f how-to-use.md || true
@@ -697,54 +692,46 @@ jobs:
expected_basenames=()
for dir in "$DANSER_SKINS_DIR"/*; do
echo " Found skin directory: $dir"
[ -d "$dir" ] || continue
raw=$(basename "$dir" | tr -d '\r\n')
header=$(sanitize_filename "$raw")
expected_basenames+=("$header")
ini=$(find "$dir" -maxdepth 1 -iname skin.ini | head -n1 || true)
if [ -f "$ini" ]; then
name_line=$({ grep -i '^[[:space:]]*name:' "$ini" || true; } | head -n1)
if [ -n "$name_line" ]; then
if ini=$(find "$dir" -maxdepth 1 -iname skin.ini | head -n1); then
if name_line=$(grep -i '^[[:space:]]*name:' "$ini" | head -n1); then
val="${name_line#*:}"
val=$(echo "$val" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
header=$(sanitize_filename "$val")
fi
fi
expected_basenames+=("$header")
fi
fi
done
echo " Raw expected basenames: ${expected_basenames[*]}"
readarray -t expected_basenames < <(printf "%s\n" "${expected_basenames[@]}" | sort -u)
readarray -t expected_basenames < <(
printf "%s\n" "${expected_basenames[@]}" | sort -u
)
for b in "${expected_basenames[@]}"; do
expected_basenames+=("${b}-mod-icons")
done
readarray -t expected_basenames < <(printf "%s\n" "${expected_basenames[@]}" | sort -u)
echo " Final expected basenames: ${expected_basenames[*]}"
readarray -t expected_basenames < <(
printf "%s\n" "${expected_basenames[@]}" | sort -u
)
prune_dir() {
echo " Pruning directory: $1"
for f in "$1"/*; do
echo " Checking: $f"
[ -e "$f" ] || continue
fn=$(basename "$f")
base="${fn%.*}"
base="${f##*/}"
base="${base%.*}"
keep=false
for kb in "${expected_basenames[@]}"; do
[ "$base" = "$kb" ] && { keep=true; break; }
done
if ! $keep; then
echo " → Removing $f"
rm -rf "$f"
else
echo " → Keeping $f"
if [[ "$base" == "$kb" ]]; then
keep=true
break
fi
done
$keep || rm -rf "$f"
done
}
prune_dir "$REPO_SCREENSHOT_DIR"
@@ -752,7 +739,7 @@ jobs:
prune_dir "$REPO_MOD_ICONS_DIR"
prune_dir "$OSK_PATH"
echo "[Cleanup Extraneous Files Complete]"
echo "[Cleanup Extra Files Complete]"
- name: Configure Git
shell: bash