@@ -95,39 +95,17 @@ jobs:
9595 touch triggered_reviewers.txt triggered_tags.txt # 确保文件存在
9696
9797 # 匹配路径并追加维护者信息
98- # while IFS='|' read -r tag path reviewers; do
99- # # 转义路径中的正则特殊字符
100- # escaped_path=$(sed 's/[.[\*^$]/\\&/g' <<< "$path")
101- # # 精确匹配路径及其子路径
102- # if grep -qxE "$escaped_path(/.*)?" changed_files.txt; then
103- # # 清理空格并移除空行后追加到文件
104- # echo "$reviewers" | tr -s ' ' '\n' | sed '/^$/d' >> triggered_reviewers.txt
105- # echo "$tag" >> triggered_tags.txt
106- # fi
107- # done < tag_data.csv
10898 while IFS='|' read -r tag path reviewers; do
99+ # 转义路径中的正则特殊字符
109100 escaped_path=$(sed 's/[.[\*^$]/\\&/g' <<< "$path")
110- echo "Checking path: '$path' → escaped: '$escaped_path'"
111- if grep -qE "^$escaped_path(/[^/]+)*/?[^/]*$" changed_files.txt; then
101+ # 精确匹配路径及其子路径
102+ if grep -qxE "$escaped_path(/.*)?" changed_files.txt; then
103+ # 清理空格并移除空行后追加到文件
112104 echo "$reviewers" | tr -s ' ' '\n' | sed '/^$/d' >> triggered_reviewers.txt
113105 echo "$tag" >> triggered_tags.txt
114- echo "Matched! Tag: $tag, Path: $path"
115106 fi
116-
117- # 处理去重前检查文件是否有内容
118- if [[ -s triggered_reviewers.txt ]]; then
119- awk 'NF && !seen[$0]++' triggered_reviewers.txt > unique_reviewers.txt
120- else
121- echo "No reviewers matched." > unique_reviewers.txt # 生成占位文件
122- fi
123-
124- if [[ -s triggered_tags.txt ]]; then
125- awk 'NF && !seen[$0]++' triggered_tags.txt > unique_tags.txt
126- else
127- echo "No tags matched." > unique_tags.txt # 生成占位文件
128- fi
129107 done < tag_data.csv
130-
108+
131109 - name : Restore Reviewers Cache
132110 id : reviewers-cache-restore
133111 if : ${{ steps.changed_files.outputs.COMMENT_TIME != '' }}
0 commit comments