summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhydevcode <[email protected]>2025-05-09 14:59:52 +0800
committerGitHub <[email protected]>2025-05-09 14:59:52 +0800
commit301fce17300dbabcd8823df3f1828ca7970d0c81 (patch)
tree3e2f5a6549def24ce09a0eeaab23e8608573a8ab
parent1635fb497a9d59fdfadf6c3fe6763510fb36f86c (diff)
[action/ci] 修复bsp_buildings的传递参数的问题 (#10254)
-rw-r--r--.github/workflows/bsp_buildings.yml19
1 files changed, 12 insertions, 7 deletions
diff --git a/.github/workflows/bsp_buildings.yml b/.github/workflows/bsp_buildings.yml
index 2cdd318e41..bd80950682 100644
--- a/.github/workflows/bsp_buildings.yml
+++ b/.github/workflows/bsp_buildings.yml
@@ -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,否则获取对应文件夹名
@@ -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