@@ -11,18 +11,59 @@ jobs:
11
11
with :
12
12
fetch-depth : 0
13
13
14
- - name : Find files missing end line break
14
+ - name : Check for 1. missing end line breaks and 2. control characters in filenames
15
15
run : |
16
- files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }})
16
+ # ๋ฐ์ดํ๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ผ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ
17
+ files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
18
+ echo "๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก:"
19
+ echo "$files"
20
+
17
21
success=true
22
+
23
+ # ์ค๋ฐ๊ฟ ์ฒดํฌ
24
+ echo "## ์ค๋ฐ๊ฟ ๋๋ฝ ํ์ผ" >> $GITHUB_STEP_SUMMARY
18
25
for file in $files; do
19
26
if [ -s "$file" ] && [ "$(tail -c 1 $file | wc -l)" -eq 0 ]; then
27
+ echo "๋ฐ๊ฒฌ๋ ์ค๋ฐ๊ฟ ๋๋ฝ: $file"
20
28
echo "- $file" >> $GITHUB_STEP_SUMMARY
21
29
success=false
22
30
fi
23
31
done
24
32
33
+ # ์ ์ด๋ฌธ์ ์ฒดํฌ
34
+ echo -e "\n## ์ ์ด๋ฌธ์๊ฐ ํฌํจ๋ ํ์ผ๋ช
" >> $GITHUB_STEP_SUMMARY
35
+ for file in $files; do
36
+ # basename์ผ๋ก ํ์ผ๋ช
๋ง ์ถ์ถํ๊ณ ๋ฐ์ดํ ์ ๊ฑฐ
37
+ filename=$(basename "$file" | tr -d '"')
38
+
39
+ # ๋ฐฑ์ฌ๋์๋ก ์์ํ๋ ์ ์ด๋ฌธ์๋ค ์ฒดํฌ (\b, \n, \r, \t ๋ฑ)
40
+ if printf '%q' "$filename" | grep -q '\\[bnrtfv]'; then
41
+ echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
42
+ success=false
43
+ fi
44
+
45
+ # ์ผ๋ฐ์ ์ธ ์ ์ด๋ฌธ์๋ค ์ฒดํฌ (0x00-0x1F, 0x7F)
46
+ if echo -n "$filename" | LC_ALL=C grep -q '[[:cntrl:]]'; then
47
+ echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
48
+ success=false
49
+ fi
50
+
51
+ # ํน์ ์ ์ด๋ฌธ์๋ค ์ฒดํฌ
52
+ if echo -n "$filename" | grep -q $'[\x00-\x1F\x7F]'; then
53
+ echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
54
+ success=false
55
+ fi
56
+
57
+ # ์ด์ค์ผ์ดํ ์ํ์ค ์ฒดํฌ
58
+ if [[ "$filename" =~ (\\[0-7]{1,3}|\\x[0-9a-fA-F]{1,2}) ]]; then
59
+ echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
60
+ success=false
61
+ fi
62
+ done
63
+
25
64
if [ "$success" = false ]; then
26
- echo -e "\n:warning: ์ ํ์ผ๋ค์ ๋์ ๋๋ฝ๋ ์ค ๋ฐ๊ฟ์ ์ถ๊ฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
65
+ echo -e "\n:warning: ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด ์ฃผ์ธ์:" >> $GITHUB_STEP_SUMMARY
66
+ echo "1. ํ์ผ ๋์ ๋๋ฝ๋ ์ค๋ฐ๊ฟ์ ์ถ๊ฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
67
+ echo "2. ํ์ผ๋ช
์์ ์ ์ด๋ฌธ์๋ฅผ ์ ๊ฑฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
27
68
exit 1
28
69
fi
0 commit comments