Skip to content

Commit ca238f6

Browse files
Merge branch 'DaleStudy:main' into main
2 parents e7f101a + 026e627 commit ca238f6

File tree

346 files changed

+7458
-9
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

346 files changed

+7458
-9
lines changed

β€Ž.github/labeler.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,8 @@ elixir:
5252
- changed-files:
5353
- any-glob-to-any-file:
5454
- "**/*.exs"
55+
56+
rust:
57+
- changed-files:
58+
- any-glob-to-any-file:
59+
- "**/*.rs"

β€Ž.github/pull_request_template.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
## λ‹΅μ•ˆ 제좜 문제
22

33
<!--
4-
μžμ‹ μ˜ μˆ˜μ€€μ΄λ‚˜ 일정에 맞게 κΈˆμ£Όμ— ν‘Έμ‹œκΈ°λ‘œ μ •ν•œ λ¬Έμ œλ“€λ§Œ λ‚˜μ—΄ν•΄μ£Όμ„Έμš”.
5-
μ½”λ“œ κ²€ν† μžλ“€μ΄ PR 승인 μ—¬λΆ€λ₯Ό κ²°μ •ν•  λ•Œ 도움이 λ©λ‹ˆλ‹€.
4+
μžμ‹ μ˜ μˆ˜μ€€μ΄λ‚˜ 일정에 맞게 πŸ‘‰κΈˆμ£Όμ— ν‘Έμ‹œκΈ°λ‘œ μ •ν•œ λ¬Έμ œλ“€πŸ‘ˆλ§Œ λ‚˜μ—΄ν•΄μ£Όμ„Έμš”.
5+
리뷰어듀이 검토와 PR 승인 μ—¬λΆ€λ₯Ό κ²°μ •ν•  λ•Œ 큰 도움이 λ©λ‹ˆλ‹€.
66
-->
77

88
- [ ] 문제 1
99
- [ ] 문제 2
1010
- [ ] 문제 3
11+
<!-- - [ ] 문제 4 ν’€κ³ μ‹Άμ§€ μ•Šμ€ λ¬Έμ œλŠ” μ΄λ ‡κ²Œ μ£Όμ„μ²˜λ¦¬ ν•΄ 주셔도 μ’‹μ•„μš” -->
1112

1213
## 체크 리슀트
1314

14-
- [ ] PR을 ν”„λ‘œμ νŠΈμ— μΆ”κ°€ν•˜κ³  Weekλ₯Ό ν˜„μž¬ 주차둜 μ„€μ •ν•΄μ£Όμ„Έμš”.
15+
- [ ] 우츑 λ©”λ‰΄μ—μ„œ PR을 **Projects**에 μΆ”κ°€ν•΄μ£Όμ„Έμš”.
16+
- [ ] **Projects**의 였λ₯Έμͺ½ λ²„νŠΌ(β–Ό)을 눌러 ν™•μž₯ν•œ λ’€, **Week**λ₯Ό ν˜„μž¬ 주차둜 μ„€μ •ν•΄μ£Όμ„Έμš”.
1517
- [ ] λ°”λ‘œ μ•žμ— PR을 μ—΄μ–΄μ£Όμ‹  뢄을 μ½”λ“œ κ²€ν† μžλ‘œ μ§€μ •ν•΄μ£Όμ„Έμš”.
16-
- [ ] 문제λ₯Ό λͺ¨λ‘ ν‘Έμ‹œλ©΄ ν”„λ‘œμ νŠΈμ—μ„œ Statusλ₯Ό `In Review`둜 μ„€μ •ν•΄μ£Όμ„Έμš”.
18+
- [ ] 문제λ₯Ό λͺ¨λ‘ ν‘Έμ‹œλ©΄ ν”„λ‘œμ νŠΈμ—μ„œ **Status**λ₯Ό `In Review`둜 μ„€μ •ν•΄μ£Όμ„Έμš”.
1719
- [ ] μ½”λ“œ κ²€ν† μž 1λΆ„ μ΄μƒμœΌλ‘œλΆ€ν„° μŠΉμΈμ„ λ°›μœΌμ…¨λ‹€λ©΄ PR을 λ³‘ν•©ν•΄μ£Όμ„Έμš”.

β€Ž.github/workflows/integration.yaml

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,19 @@ jobs:
1515
- name: Get PR labels
1616
id: pr-labels
1717
run: |
18+
echo "πŸ” PR 번호: ${{ github.event.pull_request.number }}"
1819
pr_number="${{ github.event.pull_request.number }}"
20+
21+
echo "πŸ“‹ PR 라벨 쑰회 쀑..."
1922
labels_json=$(gh pr view $pr_number --json labels -q '.labels[].name')
23+
echo "ν™•μΈλœ 라벨: $labels_json"
24+
2025
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
2229
else
30+
echo "maintenance 라벨이 μ—†λŠ” PRμž…λ‹ˆλ‹€. 파일λͺ… κ·œμΉ™ 검사λ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€."
2331
echo "has_maintenance=false" >> $GITHUB_OUTPUT
2432
fi
2533
env:
@@ -28,35 +36,46 @@ jobs:
2836
# μ€„λ°”κΏˆ 체크
2937
- name: Check for missing end line breaks
3038
run: |
31-
# λ”°μ˜΄ν‘œλ₯Ό μ œκ±°ν•˜κ³  파일 λͺ©λ‘ κ°€μ Έμ˜€κΈ°
39+
echo "πŸ” μ€„λ°”κΏˆ 검사 μ‹œμž‘"
40+
echo "κΈ°μ€€ 컀밋: ${{ github.event.pull_request.base.sha }}"
41+
echo "ν˜„μž¬ 컀밋: ${{ github.sha }}"
42+
3243
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
3344
success=true
3445
35-
echo "λ³€κ²½λœ 파일 λͺ©λ‘:"
46+
echo "πŸ“ λ³€κ²½λœ 파일 λͺ©λ‘:"
3647
echo "$files"
3748
3849
echo "## μ€„λ°”κΏˆ λˆ„λ½ 파일" >> $GITHUB_STEP_SUMMARY
3950
for file in $files; do
51+
echo "검사 쀑: $file"
4052
if [ -s "$file" ] && [ "$(tail -c 1 $file | wc -l)" -eq 0 ]; then
41-
echo "발견된 μ€„λ°”κΏˆ λˆ„λ½: $file"
53+
echo "❌ μ€„λ°”κΏˆ λˆ„λ½: $file"
4254
echo "- $file" >> $GITHUB_STEP_SUMMARY
4355
success=false
56+
else
57+
echo "βœ… 정상: $file"
4458
fi
4559
done
4660
4761
if [ "$success" = false ]; then
62+
echo "⚠️ μ€„λ°”κΏˆ 검사 μ‹€νŒ¨"
4863
echo -e "\n:warning: 파일 끝의 λˆ„λ½λœ μ€„λ°”κΏˆμ„ μΆ”κ°€ν•΄ μ£Όμ„Έμš”." >> $GITHUB_STEP_SUMMARY
4964
exit 1
65+
else
66+
echo "βœ… λͺ¨λ“  파일의 μ€„λ°”κΏˆ 정상"
5067
fi
5168
5269
# μ œμ–΄λ¬Έμž 체크
5370
- name: Check for control characters in filenames
5471
run: |
72+
echo "πŸ” 파일λͺ… μ œμ–΄λ¬Έμž 검사 μ‹œμž‘"
5573
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | tr -d '"')
5674
success=true
5775
5876
echo "## μ œμ–΄λ¬Έμžκ°€ ν¬ν•¨λœ 파일λͺ…" >> $GITHUB_STEP_SUMMARY
5977
for file in $files; do
78+
echo "검사 쀑: $file"
6079
# basename으둜 파일λͺ…λ§Œ μΆ”μΆœν•˜κ³  λ”°μ˜΄ν‘œ 제거
6180
filename=$(basename "$file" | tr -d '"')
6281
@@ -71,43 +90,66 @@ jobs:
7190
7291
# μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€ 체크
7392
[[ "$filename" =~ (\\[0-7]{1,3}|\\x[0-9a-fA-F]{1,2}) ]]; then
93+
echo "❌ μ œμ–΄λ¬Έμž 발견: $file"
7494
echo "- $file (μ œμ–΄λ¬Έμž 포함)" >> $GITHUB_STEP_SUMMARY
7595
success=false
96+
else
97+
echo "βœ… 정상: $file"
7698
fi
7799
done
78100
79101
if [ "$success" = false ]; then
102+
echo "⚠️ μ œμ–΄λ¬Έμž 검사 μ‹€νŒ¨"
80103
echo -e "\n:warning: 파일λͺ…μ—μ„œ μ œμ–΄λ¬Έμžλ₯Ό μ œκ±°ν•΄ μ£Όμ„Έμš”." >> $GITHUB_STEP_SUMMARY
81104
exit 1
105+
else
106+
echo "βœ… λͺ¨λ“  파일λͺ…이 μ œμ–΄λ¬Έμž 없이 정상"
82107
fi
83108
84109
# 파일λͺ… κ·œμΉ™ 체크 - maintenance 라벨이 μ—†λŠ” κ²½μš°μ—λ§Œ μ‹€ν–‰
85110
- name: Check filename rules
86111
if: ${{ steps.pr-labels.outputs.has_maintenance != 'true' }}
87112
run: |
88-
files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.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 '"')
89121
pr_author="${{ github.event.pull_request.user.login }}"
90122
success=true
91123
124+
echo "πŸ“ 검사할 파일 λͺ©λ‘:"
125+
echo "$files"
126+
92127
echo "## 파일λͺ… κ·œμΉ™ μœ„λ°˜" >> $GITHUB_STEP_SUMMARY
93128
for file in $files; do
94129
if [ -f "$file" ]; then
95130
131+
echo "검사 쀑: $file"
96132
# 파일λͺ…λ§Œ μΆ”μΆœ (경둜 μ œμ™Έ)
97133
filename=$(basename "$file")
98134
99135
# 파일λͺ…이 GitHub계정λͺ…인지 확인
100136
shopt -s nocasematch
101137
if [[ ! "$filename" = "$pr_author"* ]]; then
138+
echo "❌ κ·œμΉ™ μœ„λ°˜: $file"
102139
echo "- $file" >> $GITHUB_STEP_SUMMARY
103140
success=false
141+
else
142+
echo "βœ… 정상: $file"
104143
fi
105144
fi
106145
done
107146
108147
if [ "$success" = false ]; then
148+
echo "⚠️ 파일λͺ… κ·œμΉ™ 검사 μ‹€νŒ¨"
109149
echo -e "\n:warning: 파일λͺ…은 λ°˜λ“œμ‹œ 'GitHub계정λͺ…' λ˜λŠ” 'GitHub계정λͺ…-xxx' ν˜•μ‹μœΌλ‘œ ν•΄μ£Όμ…”μ•Ό ν•©λ‹ˆλ‹€. (예: ${pr_author}.ts, ${pr_author}-1.ts, ${pr_author}-2.ts)" >> $GITHUB_STEP_SUMMARY
110150
exit 1
151+
else
152+
echo "βœ… λͺ¨λ“  파일λͺ…이 κ·œμΉ™μ— 맞게 정상"
111153
fi
112154
env:
113155
GH_TOKEN: ${{ github.token }}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
Β (0)