comment out clean up as we will do that at the end
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Detect Changed Skins (push) Successful in 2s
Generate Skin previews, OSK files and per skin documentation / Calculate Git Tag (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Prepare Assets (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Generate Videos and Screenshots (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Generate Mod Icons (WEBP) (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Create OSK Files (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Generate README (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Generate Per-Skin Docs (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Rename Assets Based on skin.ini (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Convert PNGs to WEBPs (push) Has been skipped
Generate Skin previews, OSK files and per skin documentation / Git Commit and Push (push) Has been skipped

This commit is contained in:
2025-07-30 15:48:06 +02:00
parent fb94f813c3
commit ffbab9c36f

View File

@@ -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