diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1a79f97a..90f55612 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -622,7 +622,6 @@ jobs: shell: bash run: | set -x - trap 'echo "❌ Error on line $LINENO"; exit 1' ERR echo "Generating README index…" @@ -666,13 +665,13 @@ jobs: jq -r '.order[]?' "$SKINS_JSON_FILE" > order.txt get_desc() { - grep -F -m1 -- "$1=" "$DESC_FILE" 2>/dev/null | cut -d '=' -f2- + grep -F -m1 -- "$1=" "$DESC_FILE" 2>/dev/null | cut -d '=' -f2- || true } - ordered_list=() + declare -A ordered while IFS= read -r skin; do echo "Processing ordered skin: $skin" - ordered_list+=("$skin") + ordered["$skin"]=1 dir="$DANSER_SKINS_DIR/$skin" [ ! -d "$dir" ] && echo "Directory not found: $dir" && continue ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1) @@ -706,14 +705,7 @@ jobs: for dir in "$DANSER_SKINS_DIR"/*; do [ -d "$dir" ] || continue skin="$(basename "$dir")" - - # 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 - + [[ -n "${ordered[$skin]}" ]] && continue echo "Processing extra skin: $skin" ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n1 || true)