Files
narl-workspace/.github/workflows/wiki.yml
T
nvrl 376533737d ci: the checks on every push, and the wiki published from docs
`ci.yml` runs what `make check` runs, in three jobs: format, clippy and the
tests, after building the frontend, because the binary embeds web/dist and does
not compile without it; svelte-check; and the wiki check, so a change to a
command's help that forgets `make wiki` fails before it lands.

`wiki.yml` publishes docs/wiki to the repository's GitHub wiki on every push to
main that touches the pages or a file the generated ones are read from. It
generates the pages afresh rather than trusting the committed ones, lays them
out with `--publish` in a clone of the wiki, and pushes only when something
changed. GitHub makes a wiki's repository only once its first page exists, so
one page has to be saved by hand before the first run; the comment at the top
says so.
2026-10-21 12:07:32 +02:00

53 lines
1.5 KiB
YAML

# 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
- 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