From daf400a4c691abebb3efbb89d3ec99b6dddebe09 Mon Sep 17 00:00:00 2001 From: Arlind Date: Wed, 11 Jun 2025 10:57:56 +0200 Subject: [PATCH] Update .gitea/workflows/ci.yml --- .gitea/workflows/ci.yml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 7edd151..d9377a3 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -64,6 +64,7 @@ jobs: force_rebuild="${{ github.event.inputs.force_rebuild }}" skins=() + deleted_skins=() echo "→ Force rebuild flag: $force_rebuild" @@ -76,12 +77,26 @@ jobs: latest_tag=$(git tag --sort=-creatordate | head -n 1 || true) if [ -n "$latest_tag" ]; then echo "→ Latest tag found: $latest_tag" - echo "→ Finding skins changed since $latest_tag..." + echo "→ Finding added/modified skins since $latest_tag..." mapfile -t skins < <( - git diff --name-only "$latest_tag" HEAD | + git diff --name-only --diff-filter=AM "$latest_tag" HEAD | grep '^Skins/' | sed -E 's#^Skins/([^/]+).*#\1#' | sort -u ) - echo " ✓ Found ${#skins[@]} changed skins" + echo " ✓ Found ${#skins[@]} added/modified skins" + + echo "→ Finding deleted skins since $latest_tag..." + mapfile -t deleted_skins < <( + git diff --name-only --diff-filter=D "$latest_tag" HEAD | + grep '^Skins/' | sed -E 's#^Skins/([^/]+).*#\1#' | sort -u + ) + if [ "${#deleted_skins[@]}" -gt 0 ]; then + for d in "${deleted_skins[@]}"; do + echo "→ Skin '$d' was deleted" + done + else + echo " ✓ No skins deleted" + fi + else echo "→ No tag found. Falling back to finding all skin directories..." mapfile -t skins < <(find Skins -mindepth 1 -maxdepth 1 -type d | sed 's|^Skins/||' | sort) @@ -103,7 +118,7 @@ jobs: echo "" if [ "${#uniq_skins[@]}" -eq 0 ]; then - echo "→ No changed skins detected." + echo "→ No added/modified skins detected." echo "CHANGED_SKINS_FILE=" >> "$GITHUB_ENV" else echo "[Writing Changed Skins to File]" @@ -114,7 +129,7 @@ jobs: fi echo "" - echo "[Detect Changed Skin Directories Complete — ${#uniq_skins[@]} skins processed]" + echo "[Detect Changed Skin Directories Complete — ${#uniq_skins[@]} skins processed, ${#deleted_skins[@]} skins deleted]" - name: Pull Git LFS objects for changed skins (and core assets) shell: bash