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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user