|
63 | 63 | echo "COMMENT_TIME=${comment_time}" >> $GITHUB_OUTPUT |
64 | 64 | fi |
65 | 65 | echo "COMMENT_TIME=${comment_time}" |
| 66 | +
|
| 67 | + echo "=== Changed Files ===" |
| 68 | + cat changed_files.txt |
| 69 | + echo "=====================" |
| 70 | +
|
66 | 71 | - name: Parse MAINTAINERS file |
67 | 72 | id: parse_maintainer |
68 | 73 | run: | |
@@ -90,22 +95,41 @@ jobs: |
90 | 95 | - name: Generate reviewers list |
91 | 96 | id: generate_reviewers |
92 | 97 | run: | |
93 | | - # 删除旧文件并初始化空文件 |
| 98 | + # # 删除旧文件并初始化空文件 |
| 99 | + # rm -f triggered_reviewers.txt triggered_tags.txt |
| 100 | + # touch triggered_reviewers.txt triggered_tags.txt # 确保文件存在 |
| 101 | +
|
| 102 | + # # 匹配路径并追加维护者信息 |
| 103 | + # while IFS='|' read -r tag path reviewers; do |
| 104 | + # # 转义路径中的正则特殊字符 |
| 105 | + # escaped_path=$(sed 's/[.[\*^$]/\\&/g' <<< "$path") |
| 106 | + # # 精确匹配路径及其子路径 |
| 107 | + # if grep -qxE "$escaped_path(/.*)?" changed_files.txt; then |
| 108 | + # # 清理空格并移除空行后追加到文件 |
| 109 | + # echo "$reviewers" | tr -s ' ' '\n' | sed '/^$/d' >> triggered_reviewers.txt |
| 110 | + # echo "$tag" >> triggered_tags.txt |
| 111 | + # fi |
| 112 | + # done < tag_data.csv |
94 | 113 | rm -f triggered_reviewers.txt triggered_tags.txt |
95 | | - touch triggered_reviewers.txt triggered_tags.txt # 确保文件存在 |
| 114 | + touch triggered_reviewers.txt triggered_tags.txt |
96 | 115 |
|
97 | | - # 匹配路径并追加维护者信息 |
98 | 116 | while IFS='|' read -r tag path reviewers; do |
99 | 117 | # 转义路径中的正则特殊字符 |
100 | 118 | escaped_path=$(sed 's/[.[\*^$]/\\&/g' <<< "$path") |
101 | | - # 精确匹配路径及其子路径 |
102 | | - if grep -qxE "$escaped_path(/.*)?" changed_files.txt; then |
103 | | - # 清理空格并移除空行后追加到文件 |
| 119 | + |
| 120 | + # 使用增强型正则匹配路径及其所有子目录 |
| 121 | + if grep -qE "^$escaped_path(/.*)*" changed_files.txt; then |
104 | 122 | echo "$reviewers" | tr -s ' ' '\n' | sed '/^$/d' >> triggered_reviewers.txt |
105 | 123 | echo "$tag" >> triggered_tags.txt |
| 124 | + echo "Matched: $path → $tag" |
106 | 125 | fi |
107 | 126 | done < tag_data.csv |
108 | 127 |
|
| 128 | + echo "=== Matched Paths ===" |
| 129 | + cat triggered_tags.txt |
| 130 | + echo "=== Matched Reviewers ===" |
| 131 | + cat triggered_reviewers.txt |
| 132 | +
|
109 | 133 | - name: Restore Reviewers Cache |
110 | 134 | id: reviewers-cache-restore |
111 | 135 | if: ${{ steps.changed_files.outputs.COMMENT_TIME != '' }} |
|
0 commit comments