diff --git a/.gitea/workflows/dev-workshop.yml b/.gitea/workflows/dev-workshop.yml index aa01b90..64c3236 100644 --- a/.gitea/workflows/dev-workshop.yml +++ b/.gitea/workflows/dev-workshop.yml @@ -179,7 +179,23 @@ jobs: git_auth lfs fetch origin "$GIT_SHA" --include="$include" --exclude="*" git lfs checkout "${changed_addons[@]}" else - echo "Only workshop metadata changed; using cached PBOs." + echo "Only workshop metadata changed; seeding any missing PBO cache entries." + mapfile -t changed_addons < <( + git ls-tree -d --name-only "$GIT_SHA" | + awk "/^braf_/ {print}" | + while read -r addon; do + if git cat-file -e "$GIT_SHA:$addon/config.cpp" 2>/dev/null; then + printf "%s\n" "$addon" + fi + done + ) + include="" + for addon in "${changed_addons[@]}"; do + include+="${include:+,}${addon}/**" + done + echo "Fetching LFS for cache seed: $include" + git_auth lfs fetch origin "$GIT_SHA" --include="$include" --exclude="*" + git lfs checkout "${changed_addons[@]}" fi build_args=(