Skip to content

Commit dd2435e

Browse files
committed
add Github Action
- auto update readme (Solvesql)
1 parent f7f1aae commit dd2435e

1 file changed

Lines changed: 28 additions & 20 deletions

File tree

.github/workflows/auto-update-readme.yml

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)