Browse Source

CI: enhance package detection logic

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
lilik-openwrt-22.03
Ilya Lipnitskiy 3 years ago
committed by Paul Spooren
parent
commit
a2b08b5cbf
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      .github/workflows/multi-arch-test-build.yml

+ 12
- 4
.github/workflows/multi-arch-test-build.yml View File

@ -34,10 +34,18 @@ jobs:
- name: Determine changed packages
run: |
# only detect packages with changed Makefiles
PACKAGES="$(git diff --diff-filter=d --name-only origin/master \
| grep -E 'Makefile$|test.sh$' | grep -Ev '/files/|/src/' \
| awk -F/ '{ print $(NF-1) }' | tr '\n' ' ')"
# only detect packages with changes
PKG_ROOTS=$(find . -name Makefile | grep -v ".*/src/Makefile" | sed -e 's@./\(.*\)/Makefile@\1/@')
CHANGES=$(git diff --diff-filter=d --name-only origin/master)
for ROOT in $PKG_ROOTS; do
for CHANGE in $CHANGES; do
if [[ "$CHANGE" == "$ROOT"* ]]; then
PACKAGES+=$(echo "$ROOT" | sed -e 's@.*/\(.*\)/@\1 @')
break
fi
done
done
# fallback to test packages if nothing explicitly changes this is
# should run if other mechanics in packages.git changed


Loading…
Cancel
Save