Skip to content

chore(release): 0.3.1-unstable.20260828071553 #202

chore(release): 0.3.1-unstable.20260828071553

chore(release): 0.3.1-unstable.20260828071553 #202

Workflow file for this run

name: Documentation
on:
# `development` is where the work lands. This used to trigger on a
# `documentation` branch that exists but nobody updates — so the workflow
# was green and idle while the live site aged. Measured today:
# procest.conduction.nl and dossiq.conduction.nl both still serve the
# pre-rename "Procest" title while docs/docusaurus.config.js says 'Dossiq'.
push:
branches: [development]
pull_request:
branches: [development]
jobs:
deploy:
uses: ConductionNL/.github/.github/workflows/documentation.yml@main
# A reusable workflow receives NO secrets by default. Without this block
# `secrets.CF_API_TOKEN` is empty inside the callee, its "Publish to the
# Cloudflare Worker" step skips itself on its own guard, and the run
# finishes GREEN having written only gh-pages — which nothing serves. The
# live site never changes and no check goes red to say so.
#
# Mapped explicitly rather than `secrets: inherit`, because `inherit`
# hands the callee EVERY secret this repo holds — signing cert and key,
# appstore token, deploy keys — for the sake of two Cloudflare values.
# This way only those two cross the boundary.
#
# The exposure above is the ONLY reason for the explicit mapping. The
# names are the same on both sides: the org secrets really are
# `CF_API_TOKEN` / `CF_ACCOUNT_ID` — the names ConductionNL/.github's own
# deploy-docs.yml reads directly, and the names the callee declares under
# `workflow_call.secrets`.
#
# This block used to read `secrets.CLOUDFLARE_API_TOKEN` /
# `secrets.CLOUDFLARE_ACCOUNT_ID`, which are not secrets anywhere in this
# org. Mapping from a name that does not exist is NOT an error — it
# yields an empty string — so the callee's publish step skipped itself on
# its own guard and the run still finished green. Measured on planninq
# run 32760529026: "Publish to the Cloudflare Worker" SKIPPED, the log
# showing `CF_API_TOKEN:` with no value.
secrets:
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
with:
# FROZEN: docs/static/CNAME and docs/docusaurus.config.js `url:` both
# still say `procest.conduction.nl`. This moves together with those two,
# not before — the callee's live-site check fetches this host.
cname: procest.conduction.nl
# EVERY host this site answers on, in FULL. This was MISSING, and that
# was not a cosmetic gap: `docs-hosts` defaults to `cname` alone, and
# wrangler reconciles the worker's triggers against what it is given —
# so the first successful deploy would have REMOVED
# `dossiq.conduction.nl` from the worker and taken it down. It was
# attached as a second custom domain on 2026-08-23 and answers 200.
docs-hosts: procest.conduction.nl,dossiq.conduction.nl
# The worker that holds both custom domains. It happens to match what
# the callee would derive from `cname` today, which is exactly why it is
# pinned here: the moment `cname` moves to `dossiq.conduction.nl` the
# derived name silently becomes `dossiq-docs`, a worker that does not
# exist, and the deploy forks off a second one while both custom domains
# keep routing to this one — green, and reaching nobody.
#
# `docs/wrangler.jsonc` used to claim exactly that wrong name. It has
# been removed: the callee GENERATES a wrangler.toml from these inputs,
# and wrangler prefers .jsonc over .toml, so the checked-in file would
# have won and both inputs above would have been decorative.
worker-name: procest-docs