From: Christian Marangi Date: Wed, 11 Jan 2023 15:24:37 +0000 (+0100) Subject: CI: kernel: test each target with additional changes than target/linux X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fnbd.git;a=commitdiff_plain;h=57a02cbbff5bc1b9610437c4cedb2072f9647f00 CI: kernel: test each target with additional changes than target/linux Test each target if there are additional changes than target/linux. This is needed to do wide test with changes to kmods, include/kernel and changes to the workflow files. While at it also cleanup and rework the code to drop duplication. Also drop since_last_remote_commit to better track changes. Fixes: 04ada8bc4118 ("CI: kernel: build only changed targets") Signed-off-by: Christian Marangi --- diff --git a/.github/workflows/kernel.yml b/.github/workflows/kernel.yml index bc39eb359c..2582a594ba 100644 --- a/.github/workflows/kernel.yml +++ b/.github/workflows/kernel.yml @@ -42,25 +42,22 @@ jobs: - name: Get changed files id: changed-files uses: tj-actions/changed-files@v35 - with: - since_last_remote_commit: true - name: Set targets id: find_targets run: | - export TARGETS_SUBTARGETS="$(perl ./scripts/dump-target-info.pl targets 2>/dev/null \ - | sort -u -t '/' -k1 \ - | awk '{ print $1 }')" + ALL_TARGETS="$(perl ./scripts/dump-target-info.pl targets 2>/dev/null)" + CHANGED_FILES="$(echo ${{ steps.changed-files.outputs.all_changed_files }} | tr ' ' '\n')" - export TARGETS="$(perl ./scripts/dump-target-info.pl targets 2>/dev/null \ - | sort -u -t '/' -k1,1 \ - | awk '{ print $1 }')" + TARGETS_SUBTARGETS="$(echo "$ALL_TARGETS" | sort -u -t '/' -k1 | awk '{ print $1 }')" + TARGETS="$(echo "$ALL_TARGETS" | sort -u -t '/' -k1,1 | awk '{ print $1 }')" JSON_TARGETS_SUBTARGETS='[' FIRST=1 for TARGET in $TARGETS_SUBTARGETS; do - if echo ${{ steps.changed-files.outputs.all_changed_files }} | grep -q target/linux/generic || - echo ${{ steps.changed-files.outputs.all_changed_files }} | grep -q $(echo $TARGET | cut -d "/" -f 1); then + if echo "$CHANGED_FILES" | grep -v -q target/linux || + echo "$CHANGED_FILES" | grep -q target/linux/generic || + echo "$CHANGED_FILES" | grep -q $(echo $TARGET | cut -d "/" -f 1); then [[ $FIRST -ne 1 ]] && JSON_TARGETS_SUBTARGETS="$JSON_TARGETS_SUBTARGETS"',' JSON_TARGETS_SUBTARGETS="$JSON_TARGETS_SUBTARGETS"'"'"${TARGET}"'"' FIRST=0 @@ -71,8 +68,9 @@ jobs: JSON_TARGETS='[' FIRST=1 for TARGET in $TARGETS; do - if echo ${{ steps.changed-files.outputs.all_changed_files }} | grep -q target/linux/generic || - echo ${{ steps.changed-files.outputs.all_changed_files }} | grep -q $(echo $TARGET | cut -d "/" -f 1); then + if echo "$CHANGED_FILES" | grep -v -q target/linux || + echo "$CHANGED_FILES" | grep -q target/linux/generic || + echo "$CHANGED_FILES" | grep -q $(echo $TARGET | cut -d "/" -f 1); then [[ $FIRST -ne 1 ]] && JSON_TARGETS="$JSON_TARGETS"',' JSON_TARGETS="$JSON_TARGETS"'"'"${TARGET}"'"' FIRST=0