chore: enable Nimbus internal-link validation in CI#32263
Draft
mvvmm wants to merge 4 commits into
Draft
Conversation
- Add ignore list to nimbus/internal-link, translated from the pre-Nimbus starlight-links-validator exclude config (glob syntax now works via cloudflare/nimbus#34 — picomatch-backed ignore matching). - Add a Nimbus link validation step in the build CI job, after the Build step (needs .nimbus/routes.json, only materialized by a full astro build). - Add a lint:nimbus script. - Fix real broken links surfaced by the rule: changelog cross-refs to /changelog/access/ and /changelog/cloudflare-one-client/ (wrong path shape — missing /product/ segment), and stale references to retired workers-ai models. - Temporarily pin @cloudflare/nimbus-docs to the pkg.pr.new preview build for cloudflare/nimbus#34 pending a real release.
Contributor
|
This pull request requires reviews from CODEOWNERS as it changes files that match the following patterns:
|
- Remove prev/next: true from 7 pages (learning-paths series,
workers-ai tutorials) — Nimbus's prev/next schema is
string | {link,label} | false, no true (Starlight-era value with
no Nimbus equivalent; omitting the field gives the same default
sidebar-based pagination true was meant to convey).
- Turn off nimbus/frontmatter-shape for the compatibility-flags
collection via a collections override — it's not a docs page (uses
name, not title), so the docs frontmatter schema doesn't apply.
- Revert the internal-link ignore list back to an exact copy of the
old starlight-links-validator exclude list, no additions.
…ot just link validation)
Walk public/ at config-load time and feed every file's exact root-relative path into internal-link's ignore list, instead of hand-maintained per-product /product/static/** globs. Exact paths can't mask a real broken link, and new files under public/ are covered automatically with no config edit. Also excludes RSS/index.xml endpoints (not real Astro page routes).
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wires up
nimbus/internal-link— currently"error"in config but never actually enforced, since it's an authoring-tier rule that only runs vianimbus-docs lint, which nothing in CI called.ignorelist, translated from the pre-Nimbusstarlight-links-validatorexcludeconfig (git history, before chore: Starlight → Nimbus migration cleanup #32203) into picomatch glob syntax — needs cloudflare/nimbus#34, which adds real glob support (the old hand-rolled matcher couldn't express**/llms.txt-style leading wildcards the old exclude list depended on).pnpm run lint:nimbus) in thebuildjob, right afterBuild— needs.nimbus/routes.json, only materialized by a fullastro build./changelog/access/#2025-06-30→ wrong shape; real route is/changelog/post/2025-07-01-browser-based-rdp-open-beta//changelog/cloudflare-one-client/(×4 files) → missing/product/segment; real route is/changelog/product/cloudflare-one-client/workers-aimodels (removed from the model catalog, pages now 404) — dropped the dead entries, swapped one for its current equivalent (llama-guard-3-8b)Temporary:
@cloudflare/nimbus-docsis pinned to thepkg.pr.newpreview build for cloudflare/nimbus#34 (https://pkg.pr.new/@cloudflare/nimbus-docs@34), not a real release. Needs to be swapped to a published version once that PR merges and ships — do not merge this as-is until then.Documentation checklist