chore: enable Nimbus internal-link validation in CI#32263
Draft
mvvmm wants to merge 5 commits into
Draft
Conversation
Contributor
|
This pull request requires reviews from CODEOWNERS as it changes files that match the following patterns:
|
Contributor
Contributor
Author
|
/rebase |
Contributor
Review👉 Fix in your agent 👈Fix the following review findings in PR #32263 (https://github.com/cloudflare/cloudflare-docs/pull/32263).
Before making changes, review each finding and present a brief summary table:
- For each finding, state whether you agree, disagree, or need clarification
- If you disagree (e.g. the fix requires disproportionate effort for minimal benefit,
or the finding is factually incorrect), explain why
- If you need clarification before deciding, ask those questions
- Then share your plan for which issues to tackle and in what order
After triaging, follow this order:
1. Post a comment on this PR for any findings you are skipping, with the finding ID and your reasoning.
2. Then commit the fixes for the legitimate findings.
The comment must come before the commit — the bot reads PR comments when a new
push triggers a review, so skip comments posted after the push will be missed.
---
## Code Review
### Warnings (2)
#### CR-a3f6a079c68b · Platform-specific path separator
- **File:** `astro.config.ts` line 69
- **Issue:** `getPublicAssetPaths` uses `join()` (platform-specific) and then slices with the literal `"public/"` prefix. On Windows `join("public", "foo")` produces `"public\\foo"`, so `full.slice("public/".length)` keeps the leading backslash and emits malformed paths such as `"/\\foo"`.
- **Fix:** Normalize the separator before generating the URL path, e.g. `full.replace(/\\\\/g, "/").slice("public/".length)`, or use `path.relative("public", full).replace(/\\\\/g, "/")`.
#### CR-140c786d82ae · Unstable preview registry dependency
- **File:** `package.json` line 53
- **Issue:** The dependency `@cloudflare/nimbus-docs` resolves from `https://pkg.pr.new/@cloudflare/nimbus-docs@34`, a PR preview tarball that can disappear or change.
- **Fix:** Use a published npm registry version once available, or pin to a stable tarball URL with a checksum, so `pnpm install --frozen-lockfile` remains reproducible in CI.
---
## Style Guide Review
### Warnings (1)
#### SG-9a8f0976e380 · Contractions in prose
- **File:** `src/content/changelog/access/2025-09-22-browser-based-rdp-ga.mdx` line 11
- **Issue:** Added line contains the contraction `we've`
- **Fix:** Change `we've` to `we have`
### Suggestions (1)
#### SG-79cb887d3057 · Avoid semicolons joining independent clauses
- **File:** `src/content/docs/cloudflare-one/team-and-resources/devices/cloudflare-one-client/download/support-lifecycle.mdx` line 42
- **Issue:** Line uses a semicolon to join two independent clauses: "Cloudflare does not operate on a fixed release schedule; all releases for the Cloudflare One Client are incremental."
- **Fix:** Break into two sentences: "Cloudflare does not operate on a fixed release schedule. All releases for the Cloudflare One Client are incremental."
Code ReviewThis code review is in beta and may not always be helpful — use your judgment. Warnings (2)
ConventionsNo convention issues found. Style Guide ReviewWarnings (1)
Suggestions (1)
CommandsOnly codeowners can run commands. Post a comment with the command to trigger it.
|
cloudflare-docs-bot
Bot
force-pushed
the
feat/nimbus-link-validation
branch
from
July 24, 2026 16:48
74c641e to
48571f9
Compare
- 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.
- 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).
mvvmm
force-pushed
the
feat/nimbus-link-validation
branch
from
July 24, 2026 18:59
48571f9 to
63a9aa0
Compare
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