1- name : ๐ Integration
2-
3- on :
4- pull_request :
5-
6- jobs :
7- linelint :
8- runs-on : ubuntu-latest
9- steps :
10- - uses : actions/checkout@v4
11- with :
12- fetch-depth : 0
13-
14- - name : Check for 1. missing end line breaks and 2. control characters in filenames
1+ - name : Find files with issues
152 run : |
163 files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }})
17- success=true
4+ echo "๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก:"
5+ echo "$files"
186
7+ success=true
8+
199 # ์ค๋ฐ๊ฟ ์ฒดํฌ
2010 echo "## ์ค๋ฐ๊ฟ ๋๋ฝ ํ์ผ" >> $GITHUB_STEP_SUMMARY
2111 for file in $files; do
2212 if [ -s "$file" ] && [ "$(tail -c 1 $file | wc -l)" -eq 0 ]; then
13+ echo "๋ฐ๊ฒฌ๋ ์ค๋ฐ๊ฟ ๋๋ฝ: $file" # ๋๋ฒ๊น
๋ก๊ทธ
2314 echo "- $file" >> $GITHUB_STEP_SUMMARY
2415 success=false
2516 fi
@@ -28,18 +19,18 @@ jobs:
2819 # ์ ์ด๋ฌธ์ ์ฒดํฌ
2920 echo -e "\n## ์ ์ด๋ฌธ์๊ฐ ํฌํจ๋ ํ์ผ๋ช
" >> $GITHUB_STEP_SUMMARY
3021 for file in $files; do
31- # ls -b๋ฅผ ํตํด ์ ์ด๋ฌธ์๋ฅผ ๋ฐฑ์ฌ๋์ ์ด์ค์ผ์ดํ ํํ๋ก ํ์
32- filename=$(ls -b "$file" 2>/dev/null)
33- # ์๋ณธ ํ์ผ๋ช
๊ณผ ์ด์ค์ผ์ดํ๋ ํ์ผ๋ช
์ด ๋ค๋ฅด๋ค๋ฉด ์ ์ด๋ฌธ์๊ฐ ํฌํจ๋ ๊ฒ
34- if [ "$file" != "$filename" ]; then
35- echo "- $filename" >> $GITHUB_STEP_SUMMARY
36- success=false
22+ if [ -e "$file" ]; then
23+ clean_name=$(printf '%q' "$file")
24+ if [ "$file" != "$clean_name" ]; then
25+ echo "๋ฐ๊ฒฌ๋ ์ ์ด๋ฌธ์: $file -> $clean_name" # ๋๋ฒ๊น
๋ก๊ทธ
26+ echo "- $file" >> $GITHUB_STEP_SUMMARY
27+ success=false
28+ fi
3729 fi
3830 done
3931
4032 if [ "$success" = false ]; then
41- echo -e "\n:warning: ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด์ฃผ์ธ์:" >> $GITHUB_STEP_SUMMARY
42- echo "1. ํ์ผ ๋์ ๋๋ฝ๋ ์ค ๋ฐ๊ฟ์ ์ถ๊ฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
43- echo "2. ํ์ผ๋ช
์์ ์ ์ด๋ฌธ์๋ฅผ ์ ๊ฑฐํด ์ฃผ์ธ์." >> $GITHUB_STEP_SUMMARY
33+ echo -e "\n:warning: ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด ์ฃผ์ธ์:" >> $GITHUB_STEP_SUMMARY
34+ echo "ํ์ฌ ์ํ: success=$success" # ๋๋ฒ๊น
๋ก๊ทธ
4435 exit 1
45- fi
36+ fi
0 commit comments