Hjemmesiden har vist en Verdande fra før v0.43. /links/, /beacon/ og /notifications/ svarede alle 404, måneder efter de blev skrevet. Årsagen: docs-jobbet byggede på hvert push og udgav kun på en manuel udløsning, med en note om at det ville køre, "once Pages is enabled". Pages BLEV slået til — og betingelsen blev aldrig rettet. Siden er dermed bygget fyrre gange og udgivet nul, uden at noget fejlede, for at bygge var præcis det, jobbet blev bedt om. Lektien er ikke den linje. Den er, at "udgiv senere" har brug for noget, der fejler, når senere kommer. En kontakt, der er slukket og tavs, ligner en kontakt, der er tændt. Udgives nu fra main og ved håndsoprækning, aldrig fra en pull request — en fork kunne ellers udgive hen over siden ved at åbne en. Dokumentationen manglede ⌘K-ændringen fra i går: at vælge en note fra paletten nu efterlader de andre træffere i listen ved siden af den. Den står i "Finding", hvor de to søgefelter i forvejen er beskrevet hver for sig uden at sige, at de nu er enige. README'en manglede tolv ting, der er bygget siden tabellen sidst blev rørt — og forseglingen af noter, som kun stod i docs. At en kopi af databasefilen ikke er en kopi af noterne, er en overskrift for et selvhostet program, ikke en detalje på side tre. GitHub-repoet havde ingen hjemmeside og ingen emner, og beskrivelsen nævnte hverken noter, kalender eller AI. Alle tre er sat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
74 lines
2.0 KiB
YAML
74 lines
2.0 KiB
YAML
name: Documentation
|
|
|
|
# Built on every push, and published from main.
|
|
#
|
|
# The publishing used to wait for a manual dispatch, with a note saying it would
|
|
# run "once Pages is enabled". Pages was enabled — and the condition was never
|
|
# changed, so the site was built forty times and published none of them. What it
|
|
# showed was a Verdande from before v0.43: /links/, /beacon/ and /notifications/
|
|
# all answered 404, months after they were written. Nothing failed, because
|
|
# building *is* what the job was asked to do.
|
|
#
|
|
# The lesson is not about this line. It is that "publish later" needs something
|
|
# that fails when later arrives — a switch that is off and silent looks exactly
|
|
# like a switch that is on.
|
|
#
|
|
# Pull requests still build and never publish: `mkdocs build --strict` fails on a
|
|
# link to a page that does not exist, and building only after the merge means
|
|
# finding that out on `main`.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'docs/**'
|
|
- 'mkdocs.yml'
|
|
- '.github/workflows/docs.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'docs/**'
|
|
- 'mkdocs.yml'
|
|
- '.github/workflows/docs.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
concurrency:
|
|
group: pages
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
cache: pip
|
|
cache-dependency-path: docs/requirements.txt
|
|
|
|
- run: pip install -r docs/requirements.txt
|
|
|
|
- run: mkdocs build --strict
|
|
|
|
- uses: actions/upload-pages-artifact@v3
|
|
with:
|
|
path: site_build
|
|
|
|
deploy:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
# From main, and by hand. Never from a pull request — a fork could otherwise
|
|
# publish over the site by opening one.
|
|
if: github.event_name != 'pull_request'
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deploy.outputs.page_url }}
|
|
steps:
|
|
- id: deploy
|
|
uses: actions/deploy-pages@v4
|