90793d3280
CI / build (pull_request) Has been cancelled
scripts/sync-wiki.ps1 clones a wiki repo, copies+flattens markdown from docs/ with a slug mapping (e.g. recipes/zerto-pre-post-scripts.md becomes the Recipe-Zerto-Failover page), rewrites in-repo markdown links to wiki-style targets, generates a _Sidebar.md, and pushes back if anything changed. Idempotent. .github/workflows/wiki-sync.yml runs the sync on every push to main that touches docs/ (or the sync tooling itself). Uses GITHUB_TOKEN which has wiki write access via the contents:write permission. For Gitea, no Windows runner is available, so the script is invoked manually with a Gitea PAT in the URL. One-time setup for each remote: enable Wiki in repo settings, create a Home page via the web UI to initialize the wiki repo, then run the sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
621 B
YAML
28 lines
621 B
YAML
name: Sync Wiki
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'docs/**'
|
|
- 'scripts/sync-wiki.ps1'
|
|
- '.github/workflows/wiki-sync.yml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
sync:
|
|
runs-on: windows-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Sync docs/ to GitHub wiki
|
|
shell: pwsh
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
$repo = '${{ github.repository }}'
|
|
$wikiUrl = "https://x-access-token:$env:GH_TOKEN@github.com/$repo.wiki.git"
|
|
./scripts/sync-wiki.ps1 -WikiUrl $wikiUrl
|