Update .gitea/workflows/ci.yml

This commit is contained in:
Arlind
2025-06-08 23:17:23 +02:00
parent a3b175a708
commit 3e84674bb9

View File

@@ -178,32 +178,45 @@ jobs:
- name: Check for Duplicate skin.ini Names
shell: bash
run: |
set -euo pipefail
echo "[Duplicate Skin Name Check Started]"
# Ensure DANSER_SKINS_DIR is set and valid
if [ -z "${DANSER_SKINS_DIR:-}" ] || [ ! -d "${DANSER_SKINS_DIR}" ]; then
echo "DANSER_SKINS_DIR is not set or is not a directory. Exiting."
exit 1
fi
sanitize_filename() {
echo "$1" \
local filename="$1"
echo "$filename" \
| sed -e 's#[\\/:\*\?"<>|]#-#g' -e 's#%#_#g' \
| tr -s ' ' \
| sed 's/^ *//;s/ *$//'
}
declare -A name_counts
declare -A name_counts=()
duplicates=()
for dir in "$DANSER_SKINS_DIR"/*; do
shopt -s nullglob
for dir in "${DANSER_SKINS_DIR}"/*; do
[ -d "$dir" ] || continue
name=$(basename "$dir" | tr -d $'\r\n')
ini=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1)
ini=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1 || true)
if [ -f "$ini" ]; then
line=$(grep -i '^[[:space:]]*Name:' "$ini" | head -n1)
if [ -n "$line" ]; then
if [ -n "${line:-}" ]; then
val="${line#*:}"
val=$(echo "$val" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
name=$(sanitize_filename "$val")
fi
fi
name_counts["$name"]=$(( ${name_counts["$name"]:-0} + 1 ))
done
shopt -u nullglob
for name in "${!name_counts[@]}"; do
if [ "${name_counts[$name]}" -gt 1 ]; then
@@ -214,6 +227,7 @@ jobs:
if [ "${#duplicates[@]}" -gt 0 ]; then
echo "⚠️ Duplicate skin.ini Names found:"
printf ' • %s\n' "${duplicates[@]}"
exit 1
else
echo "✓ No duplicate skin.ini Names detected."
fi