@@ -15,11 +15,19 @@ jobs:
15
15
- name : Get PR labels
16
16
id : pr-labels
17
17
run : |
18
+ echo "๐ PR ๋ฒํธ: ${{ github.event.pull_request.number }}"
18
19
pr_number="${{ github.event.pull_request.number }}"
20
+
21
+ echo "๐ PR ๋ผ๋ฒจ ์กฐํ ์ค..."
19
22
labels_json=$(gh pr view $pr_number --json labels -q '.labels[].name')
23
+ echo "ํ์ธ๋ ๋ผ๋ฒจ: $labels_json"
24
+
20
25
if [ -n "$labels_json" ]; then
21
- echo "has_maintenance=$(echo $labels_json | grep -q 'maintenance' && echo 'true' || echo 'false')" >> $GITHUB_OUTPUT
26
+ has_maintenance=$(echo $labels_json | grep -q 'maintenance' && echo 'true' || echo 'false')
27
+ echo "maintenance ๋ผ๋ฒจ ํฌํจ ์ฌ๋ถ: $has_maintenance"
28
+ echo "has_maintenance=$has_maintenance" >> $GITHUB_OUTPUT
22
29
else
30
+ echo "maintenance ๋ผ๋ฒจ์ด ์๋ PR์
๋๋ค. ํ์ผ๋ช
๊ท์น ๊ฒ์ฌ๋ฅผ ์งํํฉ๋๋ค."
23
31
echo "has_maintenance=false" >> $GITHUB_OUTPUT
24
32
fi
25
33
env :
@@ -28,35 +36,46 @@ jobs:
28
36
# ์ค๋ฐ๊ฟ ์ฒดํฌ
29
37
- name : Check for missing end line breaks
30
38
run : |
31
- # ๋ฐ์ดํ๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ผ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ
39
+ echo "๐ ์ค๋ฐ๊ฟ ๊ฒ์ฌ ์์"
40
+ echo "๊ธฐ์ค ์ปค๋ฐ: ${{ github.event.pull_request.base.sha }}"
41
+ echo "ํ์ฌ ์ปค๋ฐ: ${{ github.sha }}"
42
+
32
43
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
33
44
success=true
34
45
35
- echo "๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก:"
46
+ echo "๐ ๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก:"
36
47
echo "$files"
37
48
38
49
echo "## ์ค๋ฐ๊ฟ ๋๋ฝ ํ์ผ" >> $GITHUB_STEP_SUMMARY
39
50
for file in $files; do
51
+ echo "๊ฒ์ฌ ์ค: $file"
40
52
if [ -s "$file" ] && [ "$(tail -c 1 $file | wc -l)" -eq 0 ]; then
41
- echo "๋ฐ๊ฒฌ๋ ์ค๋ฐ๊ฟ ๋๋ฝ: $file"
53
+ echo "โ ์ค๋ฐ๊ฟ ๋๋ฝ: $file"
42
54
echo "- $file" >> $GITHUB_STEP_SUMMARY
43
55
success=false
56
+ else
57
+ echo "โ
์ ์: $file"
44
58
fi
45
59
done
46
60
47
61
if [ "$success" = false ]; then
62
+ echo "โ ๏ธ ์ค๋ฐ๊ฟ ๊ฒ์ฌ ์คํจ"
48
63
echo -e "\n:warning: ํ์ผ ๋์ ๋๋ฝ๋ ์ค๋ฐ๊ฟ์ ์ถ๊ฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
49
64
exit 1
65
+ else
66
+ echo "โ
๋ชจ๋ ํ์ผ์ ์ค๋ฐ๊ฟ ์ ์"
50
67
fi
51
68
52
69
# ์ ์ด๋ฌธ์ ์ฒดํฌ
53
70
- name : Check for control characters in filenames
54
71
run : |
72
+ echo "๐ ํ์ผ๋ช
์ ์ด๋ฌธ์ ๊ฒ์ฌ ์์"
55
73
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
56
74
success=true
57
75
58
76
echo "## ์ ์ด๋ฌธ์๊ฐ ํฌํจ๋ ํ์ผ๋ช
" >> $GITHUB_STEP_SUMMARY
59
77
for file in $files; do
78
+ echo "๊ฒ์ฌ ์ค: $file"
60
79
# basename์ผ๋ก ํ์ผ๋ช
๋ง ์ถ์ถํ๊ณ ๋ฐ์ดํ ์ ๊ฑฐ
61
80
filename=$(basename "$file" | tr -d '"')
62
81
@@ -71,43 +90,66 @@ jobs:
71
90
72
91
# ์ด์ค์ผ์ดํ ์ํ์ค ์ฒดํฌ
73
92
[[ "$filename" =~ (\\[0-7]{1,3}|\\x[0-9a-fA-F]{1,2}) ]]; then
93
+ echo "โ ์ ์ด๋ฌธ์ ๋ฐ๊ฒฌ: $file"
74
94
echo "- $file (์ ์ด๋ฌธ์ ํฌํจ)" >> $GITHUB_STEP_SUMMARY
75
95
success=false
96
+ else
97
+ echo "โ
์ ์: $file"
76
98
fi
77
99
done
78
100
79
101
if [ "$success" = false ]; then
102
+ echo "โ ๏ธ ์ ์ด๋ฌธ์ ๊ฒ์ฌ ์คํจ"
80
103
echo -e "\n:warning: ํ์ผ๋ช
์์ ์ ์ด๋ฌธ์๋ฅผ ์ ๊ฑฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
81
104
exit 1
105
+ else
106
+ echo "โ
๋ชจ๋ ํ์ผ๋ช
์ด ์ ์ด๋ฌธ์ ์์ด ์ ์"
82
107
fi
83
108
84
109
# ํ์ผ๋ช
๊ท์น ์ฒดํฌ - maintenance ๋ผ๋ฒจ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์คํ
85
110
- name : Check filename rules
86
111
if : ${{ steps.pr-labels.outputs.has_maintenance != 'true' }}
87
112
run : |
88
- files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | tr -d '"')
113
+ echo "๐ ํ์ผ๋ช
๊ท์น ๊ฒ์ฌ ์์"
114
+ echo "PR ์์ฑ์: ${{ github.event.pull_request.user.login }}"
115
+
116
+ # PR์ ๊ณตํต ์กฐ์ ์ปค๋ฐ์ ์ฐพ์์ merge base๋ก ์ค์
117
+ merge_base=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})
118
+ echo "Merge base ์ปค๋ฐ: $merge_base"
119
+
120
+ files=$(git diff --name-only $merge_base ${{ github.event.pull_request.head.sha }} | tr -d '"')
89
121
pr_author="${{ github.event.pull_request.user.login }}"
90
122
success=true
91
123
124
+ echo "๐ ๊ฒ์ฌํ ํ์ผ ๋ชฉ๋ก:"
125
+ echo "$files"
126
+
92
127
echo "## ํ์ผ๋ช
๊ท์น ์๋ฐ" >> $GITHUB_STEP_SUMMARY
93
128
for file in $files; do
94
129
if [ -f "$file" ]; then
95
130
131
+ echo "๊ฒ์ฌ ์ค: $file"
96
132
# ํ์ผ๋ช
๋ง ์ถ์ถ (๊ฒฝ๋ก ์ ์ธ)
97
133
filename=$(basename "$file")
98
134
99
135
# ํ์ผ๋ช
์ด GitHub๊ณ์ ๋ช
์ธ์ง ํ์ธ
100
136
shopt -s nocasematch
101
137
if [[ ! "$filename" = "$pr_author"* ]]; then
138
+ echo "โ ๊ท์น ์๋ฐ: $file"
102
139
echo "- $file" >> $GITHUB_STEP_SUMMARY
103
140
success=false
141
+ else
142
+ echo "โ
์ ์: $file"
104
143
fi
105
144
fi
106
145
done
107
146
108
147
if [ "$success" = false ]; then
148
+ echo "โ ๏ธ ํ์ผ๋ช
๊ท์น ๊ฒ์ฌ ์คํจ"
109
149
echo -e "\n:warning: ํ์ผ๋ช
์ ๋ฐ๋์ 'GitHub๊ณ์ ๋ช
' ๋๋ 'GitHub๊ณ์ ๋ช
-xxx' ํ์์ผ๋ก ํด์ฃผ์
์ผ ํฉ๋๋ค. (์: ${pr_author}.ts, ${pr_author}-1.ts, ${pr_author}-2.ts)" >> $GITHUB_STEP_SUMMARY
110
150
exit 1
151
+ else
152
+ echo "โ
๋ชจ๋ ํ์ผ๋ช
์ด ๊ท์น์ ๋ง๊ฒ ์ ์"
111
153
fi
112
154
env :
113
155
GH_TOKEN : ${{ github.token }}
0 commit comments