Skip to content

Commit e08904c

Browse files
committed
Chore: 통합 워크플로우 수정
1 parent f383003 commit e08904c

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

.github/workflows/integration.yaml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,27 @@ jobs:
1515
- name: Get PR labels
1616
id: pr-labels
1717
run: |
18-
labels=$(gh pr view ${{ github.event.pull_request.number }} --json labels -q '.labels[].name' || echo "")
19-
echo "labels=$labels" >> $GITHUB_OUTPUT
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
2025
env:
2126
GH_TOKEN: ${{ github.token }}
2227

2328
- name: Check for 1. missing end line breaks and 2. control characters in filenames and 3. filename rules
2429
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+
2539
# 따옴표를 제거하고 파일 목록 가져오기
2640
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
2741
echo "변경된 파일 목록:"
@@ -71,16 +85,15 @@ jobs:
7185
done
7286
7387
# maintenance 라벨이 없는 경우에만 파일명 규칙 체크
74-
if [[ ! "${{ steps.pr-labels.outputs.labels }}" =~ "maintenance" ]]; then
88+
if [ "$has_maintenance" != "true" ]; then
7589
echo -e "\n## 파일명 규칙 위반" >> $GITHUB_STEP_SUMMARY
7690
for file in $files; do
7791
if [ -f "$file" ]; then
78-
filename=$(basename "$file" | tr -d '"')
79-
github_username="${{ github.event.pull_request.user.login }}"
80-
92+
# 파일명만 추출 (경로 제외)
93+
filename=$(basename "$file")
8194
# 파일명이 GitHub계정명인지 확인
82-
if [[ ! "$filename" =~ ^"$github_username" ]]; then
83-
echo "- $file (파일명은 '$github_username'로 해주셔야 합니다)" >> $GITHUB_STEP_SUMMARY
95+
if [[ ! "$filename" =~ ^${pr_author} ]]; then
96+
echo "- $file (파일명은 '$pr_author'형식으로 해주셔야 합니다)" >> $GITHUB_STEP_SUMMARY
8497
success=false
8598
fi
8699
fi
@@ -91,8 +104,10 @@ jobs:
91104
echo -e "\n:warning: 위 문제들을 해결해 주세요:" >> $GITHUB_STEP_SUMMARY
92105
echo "1. 파일 끝의 누락된 줄바꿈을 추가해 주세요." >> $GITHUB_STEP_SUMMARY
93106
echo "2. 파일명에서 제어문자를 제거해 주세요." >> $GITHUB_STEP_SUMMARY
94-
if [[ ! "${{ steps.pr-labels.outputs.labels }}" =~ "maintenance" ]]; then
95-
echo "3. 파일명은 반드시 'GitHub계정명'으로 해주셔야 합니다. (예: ${{ github.event.pull_request.user.login }}.ts)" >> $GITHUB_STEP_SUMMARY
107+
if [[ ! "$pr_labels" =~ "maintenance" ]]; then
108+
echo "3. 파일명은 반드시 'GitHub계정명'형식으로 해주셔야 합니다. (예: ${pr_author}.ts)" >> $GITHUB_STEP_SUMMARY
96109
fi
97110
exit 1
98111
fi
112+
env:
113+
GH_TOKEN: ${{ github.token }}

0 commit comments

Comments
 (0)