diff --git a/.github/workflows/update-wiki.yml b/.github/workflows/update-wiki.yml new file mode 100644 index 0000000..ac1608a --- /dev/null +++ b/.github/workflows/update-wiki.yml @@ -0,0 +1,44 @@ +name: Update Wiki + +on: + push: + # paths: + # - docs/** + branches: + - main +env: + USER_TOKEN: ${{ secrets.WIKI_ACTION_TOKEN }} # This is the repository secret + USER_NAME: wiki-bot + USER_EMAIL: team@swanhub.co + OWNER: SwanHubX + REPOSITORY_NAME: SwanLab-Toolkit + +jobs: + publish_docs_to_wiki: + name: Publish docs to Wiki + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + # 1. Create folder named `tmp_wiki` + # 2. Initialize Git + # 3. Pull old Wiki content + - name: Pull content from wiki + run: | + mkdir tmp_wiki + cd tmp_wiki + git init + git config user.name $USER_NAME + git config user.email $USER_EMAIL + git pull https://$USER_TOKEN@github.com/$OWNER/$REPOSITORY_NAME.wiki.git + + # 4. Synchronize differences between `docs` & `tmp_wiki` + # 5. Push new Wiki content + - name: Push content to wiki + run: | + rsync -av --delete docs/ tmp_wiki/ --exclude .git + cd tmp_wiki + git add . + git commit -m "Update Wiki content" + git push -f --set-upstream https://$USER_TOKEN@github.com/$OWNER/$REPOSITORY_NAME.wiki.git master \ No newline at end of file