Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions .github/workflows/bsp_buildings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ jobs:
fi
done
if [[ $has_bsp == true ]]; then
changed_files=$(echo "${changed_files}"| cut -d'/' -f2 | sort -u)
echo "CHANGED_FILES=${changed_files}" >> $GITHUB_OUTPUT
changed_files=$(echo "${changed_files}"| cut -d'/' -f2 | sort -u| tr '\n' ',' | sed 's/,$//')
echo "CHANGED_FILES=[${changed_files}]" >> $GITHUB_OUTPUT
fi
#获取修改文件的路径,如果有bsp以外的文件夹则编译全部bsp,否则获取对应文件夹名

Expand All @@ -82,21 +82,26 @@ jobs:
run: |
raw_matrix=$(echo "${{ steps.read-config.outputs.raw_matrix }}" | base64 --decode)

CHANGED_FILES="${{ steps.changed_files.outputs.CHANGED_FILES }}"
CHANGED_FILES=${{ steps.changed_files.outputs.CHANGED_FILES }}
CHANGED_FILES=$(echo "$CHANGED_FILES" | sed 's/\[\|\]//g')
# 将修改的文件路径与ALL_BSP_COMPILE.json文件的SUB_RTT_BSP进行判断,判断是否包含
filtered_matrix="${filtered_matrix}"
if [[ "$CHANGED_FILES" == "" ]]; then
filtered_matrix=[]
echo "${CHANGED_FILES}"
if [[ -z "$CHANGED_FILES" ]]; then
FILTER_CONDITION='.legs[]'
filtered_matrix=$(jq -c "{legs: [$FILTER_CONDITION]}" <<< "$raw_matrix")
else
CONDITIONS=$(echo "$CHANGED_FILES" | awk '{for (i=1; i<=NF; i++) printf "contains(\"%s\") or ", $i}')
CONDITIONS=$(echo "$CHANGED_FILES" | awk 'BEGIN { RS="," } { printf "contains(\"%s\") or ", $1 }')
CONDITIONS=${CONDITIONS% or }

FILTER_CONDITION=".legs[] | select(any(.SUB_RTT_BSP[]; $CONDITIONS))"

filtered_matrix=$(jq -c "{legs: [$FILTER_CONDITION]}" <<< "$raw_matrix")
fi

echo "filtered_matrix=${filtered_matrix}" >> $GITHUB_OUTPUT

echo "${filtered_matrix}"
echo ${filtered_matrix}
build:
runs-on: ubuntu-22.04
needs: generate-matrix
Expand Down
Loading