Files
wp-plugin-starter-template-…/.github/workflows/sync-wiki.yml

60 lines
1.5 KiB
YAML

name: Sync Wiki - Update GitHub wiki from .wiki directory
on:
push:
branches:
- main
paths:
- '.wiki/**'
jobs:
sync-wiki:
name: Sync Wiki to GitHub
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Configure Git
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
- name: Clone wiki repository
env:
GH_REPOSITORY: ${{ github.repository }}
run: |
git clone "https://github.com/${GH_REPOSITORY}.wiki.git" wiki
- name: Sync wiki content
env:
GH_ACTOR: ${{ github.actor }}
GH_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Remove all files from wiki repository except .git
find wiki -mindepth 1 -maxdepth 1 -not -name '.git' -exec rm -rf {} \;
# Copy .wiki content to wiki repository
cp -r .wiki/* wiki/
# Go to wiki repository
cd wiki
# Add all changes
git add .
# Check if there are changes to commit
if git diff --staged --quiet; then
echo "No changes to commit"
exit 0
fi
# Commit changes
git commit -m "Sync wiki from source repository"
# Push changes
git push "https://${GH_ACTOR}:${GH_TOKEN}@github.com/${GH_REPOSITORY}.wiki.git"