# docs/wiki, published to the GitHub wiki of this repository. # # GitHub only creates a wiki's git repository once its first page exists, so # save any page once by hand in the Wiki tab before the first run; everything # in it is replaced from docs/wiki from then on. name: wiki on: push: branches: [main] paths: - docs/** - README.md - .env.example - web/src/lib/commands.ts - web/src/lib/Help.svelte - web/src/lib/keymap.ts - scripts/wiki.ts - .github/workflows/wiki.yml workflow_dispatch: permissions: contents: write concurrency: group: wiki cancel-in-progress: false jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 - name: clone the wiki env: TOKEN: ${{ secrets.GITHUB_TOKEN }} run: git clone "https://x-access-token:${TOKEN}@github.com/${GITHUB_REPOSITORY}.wiki.git" wiki # Generated from the code, not from what was committed, so a forgotten # `make wiki` still publishes the truth. - run: bun scripts/wiki.ts && bun scripts/wiki.ts --publish wiki - name: push working-directory: wiki run: | git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git add -A if git diff --cached --quiet; then echo "the wiki is already up to date" exit 0 fi git commit -m "wiki: ${GITHUB_SHA::7} $(git -C .. log -1 --format=%s)" git push