@@ -28,49 +28,57 @@ jobs:
2828 id : changes
2929 env :
3030 BEFORE : ${{ github.event.before }}
31- AFTER : ${{ github.sha }}
31+ AFTER : ${{ github.sha }}
32+ shell : bash
3233 run : |
33- echo "lc=false" >> $GITHUB_OUTPUT
34- echo "bj=false" >> $GITHUB_OUTPUT
35- echo "ss=false" >> $GITHUB_OUTPUT
34+ set -euo pipefail
3635
37- files=$(git diff --name-only "$BEFORE..$AFTER")
36+ echo "BEFORE=$BEFORE"
37+ echo "AFTER=$AFTER"
3838
39- if echo "$files" | grep -q '^LeetCode/'; then
40- echo "lc=true" >> $GITHUB_OUTPUT
39+ # BEFORE가 all-zero면 fallback (첫 push/force push 대응)
40+ if [[ "$BEFORE" =~ ^0+$ ]]; then
41+ BEFORE="$(git rev-parse HEAD~1)"
42+ echo "FALLBACK BEFORE=$BEFORE"
4143 fi
4244
43- if echo "$files" | grep -q '^BaekJoon/'; then
44- echo "bj=true" >> $GITHUB_OUTPUT
45- fi
46-
47- if echo "$files" | grep -q '^Solvesql/'; then
48- echo "ss=true" >> $GITHUB_OUTPUT
49- fi
45+ files="$(git diff --name-only "$BEFORE" "$AFTER" || true)"
46+ echo "CHANGED FILES:"
47+ echo "$files"
48+
49+ echo "lc=false" >> "$GITHUB_OUTPUT"
50+ echo "bj=false" >> "$GITHUB_OUTPUT"
51+ echo "ss=false" >> "$GITHUB_OUTPUT"
52+
53+ if echo "$files" | grep -q '^LeetCode/'; then echo "lc=true" >> "$GITHUB_OUTPUT"; fi
54+ if echo "$files" | grep -q '^BaekJoon/'; then echo "bj=true" >> "$GITHUB_OUTPUT"; fi
55+ if echo "$files" | grep -q '^Solvesql/'; then echo "ss=true" >> "$GITHUB_OUTPUT"; fi
56+
57+ # 아래 step에서 fallback된 BEFORE를 쓰도록 outputs로 전달
58+ echo "before=$BEFORE" >> "$GITHUB_OUTPUT"
59+ echo "after=$AFTER" >> "$GITHUB_OUTPUT"
5060
5161 - name : Update BaekJoon README
5262 if : steps.changes.outputs.bj == 'true'
5363 env :
5464 BEFORE : ${{ github.event.before }}
5565 AFTER : ${{ github.sha }}
5666 run : |
57- python scripts/update_baekjoon_readme.py --before "$BEFORE " --after "$AFTER "
67+ python scripts/update_baekjoon_readme.py --before "${{ steps.changes.outputs.before }} " --after "${{ steps.changes.outputs.after }} "
5868
5969 - name : Update LeetCode README
6070 if : steps.changes.outputs.lc == 'true'
6171 env :
6272 BEFORE : ${{ github.event.before }}
6373 AFTER : ${{ github.sha }}
6474 run : |
65- python scripts/update_leetcode_readme.py --before "$BEFORE " --after "$AFTER "
75+ python scripts/update_leetcode_readme.py --before "${{ steps.changes.outputs.before }} " --after "${{ steps.changes.outputs.after }} "
6676
6777 - name : Update Solvesql README
6878 if : steps.changes.outputs.ss == 'true'
69- env :
70- BEFORE : ${{ github.event.before }}
71- AFTER : ${{ github.sha }}
7279 run : |
73- python scripts/update_solvesql_readme.py --before "$BEFORE" --after "$AFTER"
80+ python scripts/update_solvesql_readme.py --before "${{ steps.changes.outputs.before }}" --after "${{ steps.changes.outputs.after }}"
81+
7482
7583 - name : Commit & push if changed
7684 run : |
0 commit comments