fix(build): retire dead 3.1.0 guide URL in docker engine settings templates - #3293
Conversation
…plates The compat-matrix stages tools/docker/<engine>/settings.cfm over config/settings.cfm, and ConfigRoutesStaleDocUrlSpec (the #3281 dead-URL guard) scans config/settings.cfm — so the retired wheels.dev/3.1.0 link in these eight templates failed every engine x database leg of the 2026-07-06 matrix run uniformly. Point them at the live configuration guide, matching the demo app's config/settings.cfm. Verified: ConfigRoutesStaleDocUrlSpec 4/4 on Lucee 7 + SQLite with the fixed template staged (docker dir-mount repro of the matrix leg). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <petera@pai.com>
There was a problem hiding this comment.
Wheels Bot — Reviewer
TL;DR — This PR retires the dead wheels.dev/3.1.0 configuration-guide link across all eight tools/docker/<engine>/settings.cfm compat-matrix templates, repointing them at the live guides.wheels.dev/v4-0-0/... page. The fix is correct, complete, and matches the demo app's own config. Verdict: comment — no blocking findings; one non-blocking coverage suggestion below.
Correctness
The change does exactly what the title claims and is fully verified:
- The new URL matches the demo app's canonical value byte-for-byte —
config/settings.cfm:6:See https://guides.wheels.dev/v4-0-0/core-concepts/environments-and-configuration/ for more info. - The target page exists on disk:
web/sites/guides/src/content/docs/v4-0-0/core-concepts/environments-and-configuration.mdx. - All eight engine templates are covered, and no stale doc-URL shape (
wheels.dev/3.1.0,v4-0-0-snapshot,cfwheels.org) remains anywhere undertools/docker/. - The failure mechanism checks out:
ConfigRoutesStaleDocUrlSpecscansconfig/settings.cfm(specextraFileslist, line 72), and the compat-matrix stages each docker template over that path — so the retired string failed uniformly across every engine × DB leg, as the PR body describes.
Tests
No new spec is needed — the existing ConfigRoutesStaleDocUrlSpec already asserts against wheels.dev/3.1.0 (line 98) and pins this regression via the matrix's config/settings.cfm staging.
Non-blocking suggestion: the guard scans cli/lucli/templates/** plus a fixed extraFiles list, but never tools/docker/** directly (vendor/wheels/tests/specs/cli/ConfigRoutesStaleDocUrlSpec.cfc:66-88). That is why this slipped a plain test-local run and only surfaced in the full matrix. Adding the eight tools/docker/*/settings.cfm paths to the scan would catch any future reintroduction without needing a full cross-engine run. Optional, not required for this fix.
Commits
fix(build): retire dead 3.1.0 guide URL in docker engine settings templates — valid fix type, header under 100 chars, not ALL-CAPS, conforms to commitlint.config.js. No changelog fragment required: these are internal compat-matrix test-infra templates, not user-facing scaffold output shipped by wheels new.
The compat-matrix workflow stages
tools/docker/<engine>/settings.cfmoverconfig/settings.cfm, andConfigRoutesStaleDocUrlSpec(the #3281 dead-URL guard) scansconfig/settings.cfm— so the retiredwheels.dev/3.1.0link in these eight templates failed every engine × database leg of the 2026-07-06 matrix run uniformly. This was the only real new failure in that run: the apparenttestClientSpecfailures reproduced locally turned out to be a repro-harness port-mapping artifact (53/53 green with the matrix's own60007:60007mapping), and thelucee7+mysqlleg failure predates today (present in the 2026-07-05 scheduled run).Fix: point all eight templates at the live configuration guide URL, matching the demo app's
config/settings.cfm.Verified:
ConfigRoutesStaleDocUrlSpec4/4 andtestClientSpec53/53 on Lucee 7 + SQLite at develop HEAD with the fixed template staged (docker dir-mount repro of the exact matrix leg).🤖 Generated with Claude Code