Skip to content

Commit ebe9a4e

Browse files
authored
Update setting.yml
1 parent 76ef42d commit ebe9a4e

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

.github/workflows/setting.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ jobs:
2020
- name: Checkout
2121
uses: actions/checkout@v3
2222
with:
23-
fetch-depth: 2 # 이전 로그 2개까지 해서 변경점 비교(디폴트는 1)
23+
fetch-depth: 2
2424

2525
- name: Check if LeetHub Commit
2626
id: check_leethub
2727
run: |
2828
COMMIT_MSG=$(git log -1 --pretty=%B | tail -n 1)
2929
echo "Latest commit message: $COMMIT_MSG"
3030
31-
if [[ "$COMMIT_MSG" == Time:* && "$COMMIT_MSG" == *"- LeetHub" ]]; then
31+
if echo "$COMMIT_MSG" | grep -q "LeetHub"; then
3232
echo "should_run=true" >> $GITHUB_OUTPUT
3333
echo "commit_msg=${COMMIT_MSG}" >> $GITHUB_OUTPUT
3434
echo "LeetHub 커밋 확인, 패키지 이사 작업 준비 ✅"
@@ -61,23 +61,34 @@ jobs:
6161
fi
6262
done
6363
64-
- name: Extract Level from README
64+
- name: Extract Level from README or stats.json
6565
id: extract_level
6666
if: steps.check_leethub.outputs.should_run == 'true' && steps.detect_package.outputs.PACKAGE_NAME != ''
6767
run: |
6868
PACKAGE_NAME="${{ steps.detect_package.outputs.PACKAGE_NAME }}"
6969
README_PATH="$PACKAGE_NAME/README.md"
70-
71-
if [ ! -f "$README_PATH" ]; then
72-
echo "README.md 파일 없음 ❌"
73-
echo "leetcode_level=Unknown" >> $GITHUB_OUTPUT
74-
exit 0
70+
STATS_PATH="stats.json"
71+
LEVEL=""
72+
73+
# 1순위: README에서 추출
74+
if [ -f "$README_PATH" ]; then
75+
LEVEL=$(grep -oP '(?<=<h3>).*?(?=</h3>)' "$README_PATH" | head -n 1)
76+
echo "README에서 추출: $LEVEL"
7577
fi
7678
77-
# h3 태그 안에서 난이도 추출
78-
LEVEL=$(grep -oP '(?<=<h3>).*?(?=</h3>)' "$README_PATH" | head -n 1)
79+
# 2순위: stats.json에서 추출
80+
if [ -z "$LEVEL" ] && [ -f "$STATS_PATH" ]; then
81+
LEVEL=$(cat "$STATS_PATH" | python3 -c "
82+
import sys, json
83+
data = json.load(sys.stdin)
84+
pkg = '$PACKAGE_NAME'
85+
difficulty = data.get('leetcode', {}).get('shas', {}).get(pkg, {}).get('difficulty', '')
86+
print(difficulty.capitalize() if difficulty else '')
87+
")
88+
echo "stats.json에서 추출: $LEVEL"
89+
fi
7990

80-
# 없으면 fallback
91+
# 최종 fallback
8192
if [ -z "$LEVEL" ]; then
8293
LEVEL="Unknown"
8394
fi
@@ -98,14 +109,13 @@ jobs:
98109

99110
- name: Move Directory
100111
run: |
101-
PACKAGE_NAME="${{ needs.detect.outputs.PACKAGE_NAME }}"
112+
PACKAGE_NAME="${{ needs.detect.outputs.package_name }}"
102113
LEVEL_DIRECTORY="${{ needs.detect.outputs.level }}"
103114
ROOT_DIR="LeetCode"
104115
105116
echo "옮겨야 할 패키지 확인: $PACKAGE_NAME"
106117
echo "감지된 레벨: $LEVEL_DIRECTORY"
107118

108-
# 먼저 기존에 동일한 디렉토리 위치가 있는지 탐색
109119
FOUND_EXISTING_PATH=""
110120
for dir in "$ROOT_DIR"/*; do
111121
if [ -d "$dir/$PACKAGE_NAME" ]; then
@@ -115,14 +125,11 @@ jobs:
115125
fi
116126
done
117127

118-
# 기존 위치로 이동
119128
if [ -n "$FOUND_EXISTING_PATH" ]; then
120129
DEST="$FOUND_EXISTING_PATH/$PACKAGE_NAME"
121130
echo "→ 기존 디렉토리로 병합 이동: $DEST"
122131
mv "$PACKAGE_NAME"/* "$DEST"/
123132
rmdir "$PACKAGE_NAME" || true
124-
125-
# 새로 이동해야 할 경우
126133
else
127134
DEST="$ROOT_DIR/$LEVEL_DIRECTORY/$PACKAGE_NAME"
128135
echo "→ 새 디렉토리로 이동: $DEST"
@@ -135,9 +142,10 @@ jobs:
135142
COMMIT_MSG="${{ needs.detect.outputs.commit_msg }}"
136143
echo "커밋 메세지 확인: $COMMIT_MSG"
137144
138-
git config --global user.name "woolnd"
139-
git config --global user.email "wodnd0418@gmail.com"
145+
git config --global user.name "kimD0ngjun"
146+
git config --global user.email "chickentasty0112@gmail.com"
140147
141148
git add .
142149
git commit -m "$COMMIT_MSG" || echo "No changes to commit"
150+
git pull --rebase origin main
143151
git push

0 commit comments

Comments
 (0)