Merge pull request '* Changed detecting projects from json list to raw one' (#33) from DelforSender into master

Reviewed-on: #33
This commit was merged in pull request #33.
This commit is contained in:
2026-01-20 10:47:14 +00:00

View File

@@ -12,28 +12,30 @@ steps:
set -euf
cd "${CI_WORKSPACE}"
echo "CI_PIPELINE_FILES=${CI_PIPELINE_FILES}"
echo "CI_PIPELINE_FILES=${CI_PIPELINE_FILES:-<empty>}"
# Zapisz listę zmienionych plików do JSON
echo "${CI_PIPELINE_FILES:-[]}" > changed-files.json
# Wyciągnij katalogi z plików i zmapuj na csproj
apk add --no-cache jq findutils
apk add --no-cache findutils
> changed-projects.txt
jq -r '.[]' changed-files.json | while read path; do
# znajdź najbliższy .csproj w górę od zmienionego pliku
dir=$(dirname "$path")
while [ "$dir" != "." ] && [ "$dir" != "/" ]; do
csproj=$(find "$dir" -maxdepth 1 -name "*.csproj" -type f | head -n 1 || true)
if [ -n "$csproj" ]; then
echo "$csproj" >> changed-projects.txt
break
fi
dir=$(dirname "$dir")
done
done
echo "${CI_PIPELINE_FILES:-}" \
| sed 's/^\[//; s/\]$//' \
| tr ',' '\n' \
| sed 's/^ *//; s/ *$//' \
| sed '/^$/d' \
| while read path; do
echo "→ changed file: $path"
dir=$(dirname "$path")
while [ "$dir" != "." ] && [ "$dir" != "/" ]; do
csproj=$(find "$dir" -maxdepth 1 -name "*.csproj" -type f | head -n 1 || true)
if [ -n "$csproj" ]; then
echo "$csproj" >> changed-projects.txt
break
fi
dir=$(dirname "$dir")
done
done
# unikalne projekty
sort -u -o changed-projects.txt changed-projects.txt