diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index baa330d..ff2927b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -919,95 +919,95 @@ jobs: name: updated-per-skin-readme path: /tmp/skins-docs - cleanup_extra_files: - name: Cleanup Extra Files - runs-on: danser - needs: detect_changed_skins - if: (needs.detect_changed_skins.outputs.has_changes == 'true') || (github.event.inputs.soft_run == 'true') - container: - image: ${{ vars.CONTAINER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.TOKEN }} - - - name: Cleanup redundant and obsolete files - shell: bash - run: | - echo "[Cleanup Extra Files Started]" - - [ -f how-to-use.md ] && rm -f how-to-use.md - [ -f src/replay.osr ] && rm -f src/replay.osr - [ -d src/default-skin ] && rm -rf src/default-skin - - readarray -t skins <<< "$ALL_SKINS_DIR" - - sanitize_filename() { - echo "$1" | \ - tr -d '\000-\037' | \ - sed -e 's#[\\/:\*\?"<>|]#-#g' | \ - sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' - } - - prune_dir() { - local root="$1" - local skin="$2" - local expected="$3" - - for f in "$root"/*; do - [ -f "$f" ] || continue - name="$(basename "$f")" - if printf '%s\n' "${skins[@]}" | grep -Fxq -- "$name"; then - continue - fi - echo " → Removing unexpected root file: $f" - rm -f "$f" - done - - dir="$root/$skin" - [ -d "$dir" ] || return - for f in "$dir"/*; do - [ -e "$f" ] || continue - if [[ "$(basename "$f")" != "$expected" ]]; then - echo " → Removing unexpected file: $f" - rm -f "$f" - fi - done - } - - for root in "$REPO_SCREENSHOT_DIR" "$REPO_RANKING_PANEL_DIR" "$REPO_MOD_ICONS_DIR" "$REPO_THUMBNAIL_DIR" "$OSK_PATH" "$DOC_DIR"; do - [ -d "$root" ] || continue - for dir in "$root"/*; do - [ -d "$dir" ] || continue - name="$(basename "$dir")" - if ! printf '%s\n' "${skins[@]}" | grep -Fxq -- "$name"; then - echo " → Skin '$name' deleted—removing directory $dir" - rm -rf "$dir" - fi - done - done - - for skin in "${skins[@]}"; do - header=$(sanitize_filename "$skin") - ini=$(find "$SKINS_DIR/$skin" -maxdepth 1 -type f -iname "skin.ini" -print -quit || true) - if [[ -f "$ini" ]]; then - raw=$(grep -i '^[[:space:]]*Name:' "$ini" | head -n1 || true) - raw="${raw#*:}" - raw="$(echo "$raw" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')" - tmp_header=$(sanitize_filename "$raw") - [[ -n "$tmp_header" ]] && header="$tmp_header" - fi - - prune_dir "$REPO_SCREENSHOT_DIR" "$skin" "$header.mp4" - prune_dir "$REPO_RANKING_PANEL_DIR" "$skin" "$header.webp" - prune_dir "$REPO_MOD_ICONS_DIR" "$skin" "$header-mod-icons.webp" - prune_dir "$REPO_THUMBNAIL_DIR" "$skin" "$header.webp" - prune_dir "$OSK_PATH" "$skin" "$header.osk" - prune_dir "$DOC_DIR" "$skin" "$header.md" - done - - echo "[Cleanup Extra Files Complete]" +# cleanup_extra_files: +# name: Cleanup Extra Files +# runs-on: danser +# needs: detect_changed_skins +# if: (needs.detect_changed_skins.outputs.has_changes == 'true') || (github.event.inputs.soft_run == 'true') +# container: +# image: ${{ vars.CONTAINER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest +# steps: +# - name: Checkout repository +# uses: actions/checkout@v4 +# with: +# token: ${{ secrets.TOKEN }} +# +# - name: Cleanup redundant and obsolete files +# shell: bash +# run: | +# echo "[Cleanup Extra Files Started]" +# +# [ -f how-to-use.md ] && rm -f how-to-use.md +# [ -f src/replay.osr ] && rm -f src/replay.osr +# [ -d src/default-skin ] && rm -rf src/default-skin +# +# readarray -t skins <<< "$ALL_SKINS_DIR" +# +# sanitize_filename() { +# echo "$1" | \ +# tr -d '\000-\037' | \ +# sed -e 's#[\\/:\*\?"<>|]#-#g' | \ +# sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' +# } +# +# prune_dir() { +# local root="$1" +# local skin="$2" +# local expected="$3" +# +# for f in "$root"/*; do +# [ -f "$f" ] || continue +# name="$(basename "$f")" +# if printf '%s\n' "${skins[@]}" | grep -Fxq -- "$name"; then +# continue +# fi +# echo " → Removing unexpected root file: $f" +# rm -f "$f" +# done +# +# dir="$root/$skin" +# [ -d "$dir" ] || return +# for f in "$dir"/*; do +# [ -e "$f" ] || continue +# if [[ "$(basename "$f")" != "$expected" ]]; then +# echo " → Removing unexpected file: $f" +# rm -f "$f" +# fi +# done +# } +# +# for root in "$REPO_SCREENSHOT_DIR" "$REPO_RANKING_PANEL_DIR" "$REPO_MOD_ICONS_DIR" "$REPO_THUMBNAIL_DIR" "$OSK_PATH" "$DOC_DIR"; do +# [ -d "$root" ] || continue +# for dir in "$root"/*; do +# [ -d "$dir" ] || continue +# name="$(basename "$dir")" +# if ! printf '%s\n' "${skins[@]}" | grep -Fxq -- "$name"; then +# echo " → Skin '$name' deleted—removing directory $dir" +# rm -rf "$dir" +# fi +# done +# done +# +# for skin in "${skins[@]}"; do +# header=$(sanitize_filename "$skin") +# ini=$(find "$SKINS_DIR/$skin" -maxdepth 1 -type f -iname "skin.ini" -print -quit || true) +# if [[ -f "$ini" ]]; then +# raw=$(grep -i '^[[:space:]]*Name:' "$ini" | head -n1 || true) +# raw="${raw#*:}" +# raw="$(echo "$raw" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')" +# tmp_header=$(sanitize_filename "$raw") +# [[ -n "$tmp_header" ]] && header="$tmp_header" +# fi +# +# prune_dir "$REPO_SCREENSHOT_DIR" "$skin" "$header.mp4" +# prune_dir "$REPO_RANKING_PANEL_DIR" "$skin" "$header.webp" +# prune_dir "$REPO_MOD_ICONS_DIR" "$skin" "$header-mod-icons.webp" +# prune_dir "$REPO_THUMBNAIL_DIR" "$skin" "$header.webp" +# prune_dir "$OSK_PATH" "$skin" "$header.osk" +# prune_dir "$DOC_DIR" "$skin" "$header.md" +# done +# +# echo "[Cleanup Extra Files Complete]" git_commit_and_push: name: Git Commit and Push