diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 9a905ebb..1a79f97a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -622,6 +622,7 @@ jobs: shell: bash run: | set -x + trap 'echo "❌ Error on line $LINENO"; exit 1' ERR echo "Generating README index…" @@ -668,10 +669,10 @@ jobs: grep -F -m1 -- "$1=" "$DESC_FILE" 2>/dev/null | cut -d '=' -f2- } - declare -A ordered + ordered_list=() while IFS= read -r skin; do echo "Processing ordered skin: $skin" - ordered["$skin"]=1 + ordered_list+=("$skin") dir="$DANSER_SKINS_DIR/$skin" [ ! -d "$dir" ] && echo "Directory not found: $dir" && continue ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1) @@ -705,7 +706,14 @@ jobs: for dir in "$DANSER_SKINS_DIR"/*; do [ -d "$dir" ] || continue skin="$(basename "$dir")" - [[ -n "${ordered[$skin]}" ]] && continue + + # Check if skin is already in ordered_list + is_ordered=false + for ordered_skin in "${ordered_list[@]}"; do + [[ "$ordered_skin" == "$skin" ]] && is_ordered=true && break + done + $is_ordered && continue + echo "Processing extra skin: $skin" ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1 || true)