Skip to content

fix(docs): publish from development, to the worker that actually serves this site - #726

Merged
rubenvdlinde merged 2 commits into
developmentfrom
fix/docs-publish-to-the-worker
Aug 24, 2026
Merged

fix(docs): publish from development, to the worker that actually serves this site#726
rubenvdlinde merged 2 commits into
developmentfrom
fix/docs-publish-to-the-worker

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Two silent failures

Measured today:

softwarecatalog.conduction.nl  [200] <title>SoftwareCatalog, IT-asset and licence register for Nextcloud | SoftwareCatalog
stackiq.conduction.nl  [200] <title>SoftwareCatalog, IT-asset and licence register for Nextcloud | SoftwareCatalog
docs/docusaurus.config.js:   title: 'Stackiq'

Both hosts answer. Both serve a pre-rename build. Nothing has carried bytes to the edge.

1. The trigger pointed at a branch nobody updates

push: branches: [documentation]. The branch exists, so the workflow looked configured; it just never fired. Now development.

2. worker-name was derived, and the derivation is wrong

The callee defaults the worker to the first label of cname plus -docs. Since the app-id rename cname is stackiq.conduction.nl, so it would deploy to a worker that does not exist.

Both custom domains live on softwarecatalog-docs — the fleet names docs workers after the old app id, and that is a Cloudflare-side fact this file cannot change. Deploying the derived name creates a second worker while both custom domains keep routing to the original: every deploy green, reaching nobody. The live-site verification added in ConductionNL/.github#555 is the only thing that would ever have caught it.

Pinning the name also decouples the worker from cname, so the docs host can move later without silently forking the worker.

docs-hosts was already correct here and is unchanged — it lists both hostnames, which matters because wrangler reconciles the worker's triggers rather than appending, so a host omitted there is removed from the worker.

No Cloudflare changes were made by hand — this PR only makes the workflow correct.

…es this site

Two silent failures, both of which had to be fixed before this site could
update at all.

1. The workflow triggered on `documentation`, a branch that exists but
   nobody updates. Green and idle for months while the live site aged.

2. `worker-name` was never passed, so the callee derived it from `cname`.
   Since the app-id rename `cname` is the NEW host, while the worker that
   actually holds the custom domains is still named after the OLD app id.
   The derived name points at a worker that does not exist — deploying it
   CREATES a second worker while both custom domains keep routing to the
   original. Every deploy green, reaching nobody, with the live-site
   verification added in ConductionNL/.github#555 as the only thing that
   would ever have noticed.

Measured today: both hostnames still serve the pre-rename title while
docs/docusaurus.config.js has carried the new one since the rename.
Nothing has carried a build to the edge.
The docs build FAILS, and has been failing — it was simply never run,
because the workflow triggered on a branch nobody updates. Making the
trigger correct surfaced it on the first run.

The app-id rename updated `docusaurus.config.js` to point og:image at
the new filename and left the actual PNG under its old name, so the
AI-baseline validator's last check fails:

  ✗ og:image URL resolves to a file in the build

and `npm run build` exits 1 via postbuild. Nothing could have published
even with a correct trigger and a correct worker.

Renames the asset to the name the config has been asking for. No
references to the old filename remain.

Verified locally: npm ci --legacy-peer-deps && npm run build now exits 0
with all 10 AI-baseline checks passing.
@rubenvdlinde

Copy link
Copy Markdown
Contributor Author

One more commit. This PR's first CI run — the first time this workflow has ever actually run — failed the docs build:

✗ og:image URL resolves to a file in the build
  og:image refers to .../img/og-stackiq.png, not found at docs/build/img/og-stackiq.png
1 of 10 checks failed.
AI-crawler baseline regressed.

The app-id rename pointed docusaurus.config.js at og-stackiq.png and left the actual PNG named og-softwarecatalog.png. npm run build exits 1 via postbuild, so nothing could have published even with a correct trigger and a correct worker name.

This was invisible for as long as the workflow never ran. Renamed the asset to the name the config has been asking for; no references to the old filename remain.

Verified locally: npm ci --legacy-peer-deps && npm run build exits 0, all 10 AI-baseline checks pass.

@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ 183a331

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue-demi
test-l10n
format
check-schema-l10n
composer ⏭️
npm ✅ 720/720
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-24 09:51 UTC

Download the full PDF report from the workflow artifacts.

@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ dba7654

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue-demi
test-l10n
format
check-schema-l10n
composer ✅ 130/130
npm ✅ 720/720
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-24 10:42 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit df5ce32 into development Aug 24, 2026
86 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/docs-publish-to-the-worker branch August 24, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant