Update .gitea/workflows/ci.yml
This commit is contained in:
@@ -64,6 +64,7 @@ jobs:
|
|||||||
|
|
||||||
force_rebuild="${{ github.event.inputs.force_rebuild }}"
|
force_rebuild="${{ github.event.inputs.force_rebuild }}"
|
||||||
skins=()
|
skins=()
|
||||||
|
deleted_skins=()
|
||||||
|
|
||||||
echo "→ Force rebuild flag: $force_rebuild"
|
echo "→ Force rebuild flag: $force_rebuild"
|
||||||
|
|
||||||
@@ -76,12 +77,26 @@ jobs:
|
|||||||
latest_tag=$(git tag --sort=-creatordate | head -n 1 || true)
|
latest_tag=$(git tag --sort=-creatordate | head -n 1 || true)
|
||||||
if [ -n "$latest_tag" ]; then
|
if [ -n "$latest_tag" ]; then
|
||||||
echo "→ Latest tag found: $latest_tag"
|
echo "→ Latest tag found: $latest_tag"
|
||||||
echo "→ Finding skins changed since $latest_tag..."
|
echo "→ Finding added/modified skins since $latest_tag..."
|
||||||
mapfile -t skins < <(
|
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
|
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
|
else
|
||||||
echo "→ No tag found. Falling back to finding all skin directories..."
|
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)
|
mapfile -t skins < <(find Skins -mindepth 1 -maxdepth 1 -type d | sed 's|^Skins/||' | sort)
|
||||||
@@ -103,7 +118,7 @@ jobs:
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
if [ "${#uniq_skins[@]}" -eq 0 ]; then
|
if [ "${#uniq_skins[@]}" -eq 0 ]; then
|
||||||
echo "→ No changed skins detected."
|
echo "→ No added/modified skins detected."
|
||||||
echo "CHANGED_SKINS_FILE=" >> "$GITHUB_ENV"
|
echo "CHANGED_SKINS_FILE=" >> "$GITHUB_ENV"
|
||||||
else
|
else
|
||||||
echo "[Writing Changed Skins to File]"
|
echo "[Writing Changed Skins to File]"
|
||||||
@@ -114,7 +129,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
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)
|
- name: Pull Git LFS objects for changed skins (and core assets)
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
Reference in New Issue
Block a user