@@ -11,36 +11,13 @@ jobs:
1111 with :
1212 fetch-depth : 0
1313
14- # PR ๋ผ๋ฒจ ํ์ธ
15- - name : Get PR labels
16- id : pr-labels
14+ - name : Check for 1. missing end line breaks and 2. control characters in filenames
1715 run : |
18- pr_number="${{ github.event.pull_request.number }}"
19- labels_json=$(gh pr view $pr_number --json labels -q '.labels[].name')
20- if [ -n "$labels_json" ]; then
21- echo "has_maintenance=$(echo $labels_json | grep -q 'maintenance' && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT
22- else
23- echo "has_maintenance=false" >> $GITHUB_OUTPUT
24- fi
25- env :
26- GH_TOKEN : ${{ github.token }}
27-
28- - name : Check for 1. missing end line breaks and 2. control characters in filenames and 3. filename rules
29- run : |
30- # ํ์ํ ๊ฐ๋ค ๋ฏธ๋ฆฌ ์ค์
31- pr_author="${{ github.event.pull_request.user.login }}"
32- pr_number="${{ github.event.pull_request.number }}"
33- labels_json=$(gh pr view $pr_number --json labels -q '.labels[].name')
34- has_maintenance=false
35- if echo "$labels_json" | grep -q "maintenance"; then
36- has_maintenance=true
37- fi
38-
3916 # ๋ฐ์ดํ๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ผ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ
4017 files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
4118 echo "๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก:"
4219 echo "$files"
43-
20+
4421 success=true
4522
4623 # ์ค๋ฐ๊ฟ ์ฒดํฌ
@@ -58,13 +35,13 @@ jobs:
5835 for file in $files; do
5936 # basename์ผ๋ก ํ์ผ๋ช
๋ง ์ถ์ถํ๊ณ ๋ฐ์ดํ ์ ๊ฑฐ
6037 filename=$(basename "$file" | tr -d '"')
61-
38+
6239 # ๋ฐฑ์ฌ๋์๋ก ์์ํ๋ ์ ์ด๋ฌธ์๋ค ์ฒดํฌ (\b, \n, \r, \t ๋ฑ)
6340 if printf '%q' "$filename" | grep -q '\\[bnrtfv]'; then
6441 echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
6542 success=false
6643 fi
67-
44+
6845 # ์ผ๋ฐ์ ์ธ ์ ์ด๋ฌธ์๋ค ์ฒดํฌ (0x00-0x1F, 0x7F)
6946 if echo -n "$filename" | LC_ALL=C grep -q '[[:cntrl:]]'; then
7047 echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
@@ -76,38 +53,17 @@ jobs:
7653 echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
7754 success=false
7855 fi
79-
56+
8057 # ์ด์ค์ผ์ดํ ์ํ์ค ์ฒดํฌ
8158 if [[ "$filename" =~ (\\[0-7]{1,3}|\\x[0-9a-fA-F]{1,2}) ]]; then
8259 echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
8360 success=false
8461 fi
8562 done
8663
87- # maintenance ๋ผ๋ฒจ์ด ์๋ ๊ฒฝ์ฐ์๋ง ํ์ผ๋ช
๊ท์น ์ฒดํฌ
88- if [ "$has_maintenance" != "true" ]; then
89- echo -e "\n## ํ์ผ๋ช
๊ท์น ์๋ฐ" >> $GITHUB_STEP_SUMMARY
90- for file in $files; do
91- if [ -f "$file" ]; then
92- # ํ์ผ๋ช
๋ง ์ถ์ถ (๊ฒฝ๋ก ์ ์ธ)
93- filename=$(basename "$file")
94- # ํ์ผ๋ช
์ด GitHub๊ณ์ ๋ช
์ธ์ง ํ์ธ
95- if [[ ! "$filename" =~ ^${pr_author} ]]; then
96- echo "- $file (ํ์ผ๋ช
์ '$pr_author'๋ก ํด์ฃผ์
์ผ ํฉ๋๋ค)" >> $GITHUB_STEP_SUMMARY
97- success=false
98- fi
99- fi
100- done
101- fi
102-
10364 if [ "$success" = false ]; then
10465 echo -e "\n:warning: ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด ์ฃผ์ธ์:" >> $GITHUB_STEP_SUMMARY
10566 echo "1. ํ์ผ ๋์ ๋๋ฝ๋ ์ค๋ฐ๊ฟ์ ์ถ๊ฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
10667 echo "2. ํ์ผ๋ช
์์ ์ ์ด๋ฌธ์๋ฅผ ์ ๊ฑฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
107- if [[ ! "$pr_labels" =~ "maintenance" ]]; then
108- echo "3. ํ์ผ๋ช
์ ๋ฐ๋์ 'GitHub๊ณ์ ๋ช
'์ผ๋ก ํด์ฃผ์
์ผ ํฉ๋๋ค. (์: ${pr_author}.ts)" >> $GITHUB_STEP_SUMMARY
109- fi
11068 exit 1
111- fi
112- env :
113- GH_TOKEN : ${{ github.token }}
69+ fi
0 commit comments