Skip to content

Commit 2402f46

Browse files
authored
Merge pull request #6416 from acmesh-official/dev
sync
2 parents b64c57f + 424d33f commit 2402f46

File tree

1 file changed

+35
-7
lines changed

1 file changed

+35
-7
lines changed

.github/workflows/wiki-monitor.yml

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,43 @@ jobs:
77
notify:
88
runs-on: ubuntu-latest
99
steps:
10+
- name: Checkout wiki repository
11+
uses: actions/checkout@v4
12+
with:
13+
repository: ${{ github.repository }}.wiki
14+
path: wiki
15+
1016
- name: Generate wiki change message
1117
run: |
12-
sudo apt-get update && sudo apt-get install -y jq
13-
echo "Wiki page edited" > wiki-change-msg.txt
14-
echo "User: ${{ github.actor }}" >> wiki-change-msg.txt
15-
echo "Time: $(date '+%Y-%m-%d %H:%M:%S')" >> wiki-change-msg.txt
16-
echo "" >> wiki-change-msg.txt
17-
cat "$GITHUB_EVENT_PATH"
18-
jq -r '.pages // [] | .[] | "Page: \(.html_url) (action: \(.action))"' "$GITHUB_EVENT_PATH" >> wiki-change-msg.txt
18+
actor="${{ github.actor }}"
19+
sender_url=$(jq -r '.sender.html_url' "$GITHUB_EVENT_PATH")
20+
page_name=$(jq -r '.pages[0].page_name' "$GITHUB_EVENT_PATH")
21+
page_sha=$(jq -r '.pages[0].sha' "$GITHUB_EVENT_PATH")
22+
page_url=$(jq -r '.pages[0].html_url' "$GITHUB_EVENT_PATH")
23+
page_action=$(jq -r '.pages[0].action' "$GITHUB_EVENT_PATH")
24+
now="$(date '+%Y-%m-%d %H:%M:%S')"
25+
26+
cd wiki
27+
prev_sha=$(git rev-list $page_sha^ -- "$page_name.md" | head -n 1)
28+
if [ -n "$prev_sha" ]; then
29+
git diff $prev_sha $page_sha -- "$page_name.md" > ../wiki.diff || echo "(No diff found)" > ../wiki.diff
30+
else
31+
echo "(no diff)" > ../wiki.diff
32+
fi
33+
cd ..
34+
{
35+
echo "Wiki edited"
36+
echo -n "User: "
37+
echo "[$actor]($sender_url)"
38+
echo "Time: $now"
39+
echo "Page: [$page_name]($page_url) (Action: $page_action)"
40+
echo ""
41+
echo "----"
42+
echo "### diff:"
43+
echo '```diff'
44+
cat wiki.diff
45+
echo '```'
46+
} > wiki-change-msg.txt
1947

2048
- name: Create issue to notify Neilpang
2149
uses: peter-evans/create-issue-from-file@v5

0 commit comments

Comments
 (0)