name: Publish docs to Wiki # Trigger this action only if there are changes pushed to the docs/** directory under the main branch on: push: branches: - main # This can be changed to any branch of your preference env: USER_TOKEN: ${{ secrets.WIKI_ACTION_TOKEN }} # This is the repository secret USER_NAME: AbdullahAlfaraj # Enter the username of your (bot) account USER_EMAIL: 7842232+AbdullahAlfaraj@users.noreply.github.com # Enter the e-mail of your (bot) account OWNER: ${{ github.event.repository.owner.name }} # This is the repository owner REPOSITORY_NAME: ${{ github.event.repository.name }} # This is the repository name jobs: publish_docs_to_wiki: name: Publish docs to Wiki runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 # 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