|
7 | 7 | notify:
|
8 | 8 | runs-on: ubuntu-latest
|
9 | 9 | steps:
|
| 10 | + - name: Checkout wiki repository |
| 11 | + uses: actions/checkout@v4 |
| 12 | + with: |
| 13 | + repository: ${{ github.repository }}.wiki |
| 14 | + path: wiki |
| 15 | + |
10 | 16 | - name: Generate wiki change message
|
11 | 17 | 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 |
19 | 47 |
|
20 | 48 | - name: Create issue to notify Neilpang
|
21 | 49 | uses: peter-evans/create-issue-from-file@v5
|
|
0 commit comments