Skip to content

Commit 37c5ba1

Browse files
committed
test update
1 parent 90770fb commit 37c5ba1

File tree

1 file changed

+49
-5
lines changed

1 file changed

+49
-5
lines changed

โ€Ž.github/workflows/integration.yamlโ€Ž

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,36 @@ jobs:
1111
with:
1212
fetch-depth: 0
1313

14-
- name: Check for 1. missing end line breaks and 2. control characters in filenames
14+
# PR ๋ผ๋ฒจ ํ™•์ธ
15+
- name: Get PR labels
16+
id: pr-labels
1517
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+
1639
# ๋”ฐ์˜ดํ‘œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ํŒŒ์ผ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
1740
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
1841
echo "๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ๋ชฉ๋ก:"
1942
echo "$files"
20-
43+
2144
success=true
2245
2346
# ์ค„๋ฐ”๊ฟˆ ์ฒดํฌ
@@ -35,13 +58,13 @@ jobs:
3558
for file in $files; do
3659
# basename์œผ๋กœ ํŒŒ์ผ๋ช…๋งŒ ์ถ”์ถœํ•˜๊ณ  ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐ
3760
filename=$(basename "$file" | tr -d '"')
38-
61+
3962
# ๋ฐฑ์Šฌ๋ž˜์‹œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ œ์–ด๋ฌธ์ž๋“ค ์ฒดํฌ (\b, \n, \r, \t ๋“ฑ)
4063
if printf '%q' "$filename" | grep -q '\\[bnrtfv]'; then
4164
echo "- $file (์ œ์–ด๋ฌธ์ž ํฌํ•จ)" >> $GITHUB_STEP_SUMMARY
4265
success=false
4366
fi
44-
67+
4568
# ์ผ๋ฐ˜์ ์ธ ์ œ์–ด๋ฌธ์ž๋“ค ์ฒดํฌ (0x00-0x1F, 0x7F)
4669
if echo -n "$filename" | LC_ALL=C grep -q '[[:cntrl:]]'; then
4770
echo "- $file (์ œ์–ด๋ฌธ์ž ํฌํ•จ)" >> $GITHUB_STEP_SUMMARY
@@ -53,17 +76,38 @@ jobs:
5376
echo "- $file (์ œ์–ด๋ฌธ์ž ํฌํ•จ)" >> $GITHUB_STEP_SUMMARY
5477
success=false
5578
fi
56-
79+
5780
# ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค ์ฒดํฌ
5881
if [[ "$filename" =~ (\\[0-7]{1,3}|\\x[0-9a-fA-F]{1,2}) ]]; then
5982
echo "- $file (์ œ์–ด๋ฌธ์ž ํฌํ•จ)" >> $GITHUB_STEP_SUMMARY
6083
success=false
6184
fi
6285
done
6386
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+
64103
if [ "$success" = false ]; then
65104
echo -e "\n:warning: ์œ„ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•ด ์ฃผ์„ธ์š”:" >> $GITHUB_STEP_SUMMARY
66105
echo "1. ํŒŒ์ผ ๋์˜ ๋ˆ„๋ฝ๋œ ์ค„๋ฐ”๊ฟˆ์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์„ธ์š”." >> $GITHUB_STEP_SUMMARY
67106
echo "2. ํŒŒ์ผ๋ช…์—์„œ ์ œ์–ด๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ด ์ฃผ์„ธ์š”." >> $GITHUB_STEP_SUMMARY
107+
if [[ ! "$pr_labels" =~ "maintenance" ]]; then
108+
echo "3. ํŒŒ์ผ๋ช…์€ ๋ฐ˜๋“œ์‹œ 'GitHub๊ณ„์ •๋ช…'์œผ๋กœ ํ•ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: ${pr_author}.ts)" >> $GITHUB_STEP_SUMMARY
109+
fi
68110
exit 1
69111
fi
112+
env:
113+
GH_TOKEN: ${{ github.token }}

0 commit comments

Comments
ย (0)