ci(docs): replace lychee with fern broken-links config#331
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (7)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughFern documentation CI now uses Fern’s broken-link validation instead of the Lychee workflow step. Internal documentation links were updated to use Fern-compatible parent-directory and extensionless paths. ChangesFern documentation link validation
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)fern/docs.ymlTraceback (most recent call last): Comment |
|
🌿 Preview your docs: https://nvidia-preview-ci-fern-broken-links-config.docs.buildwithfern.com/nvcf |
|
Lets switch it to error instead of warn please |
|
Done -- switched to error in b47f36a along with fixes for the 14 nav-tree errors that would have blocked CI. The errors were all relative link resolution issues where Fern interprets ./target.md relative to the page's slug rather than the filesystem directory. Fixes:
fern check now passes with 0 errors. |
Switch docs link checking from the lycheeverse/lychee-action step to fern's native check.rules.broken-links setting in docs.yml. Fern's checker is authoritative for a Fern docs site -- it validates links against the navigation tree, not just the filesystem. The lychee --offline check only caught missing files; fern also catches nav-context resolution errors. Set broken-links to warn for now; 29 pre-existing nav-tree errors remain and will be addressed in a follow-up before hardening to error. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Switch broken-links from warn to error as requested. Fix the 14 nav-tree link resolution errors that would otherwise fail CI: - quickstart.md, installation.md: change ./target.md to ../target so Fern resolves relative to the version root, not the page slug. - infrastructure-sizing.md: same fix for g-rpc-load-testing, http-load-testing, local-development, and fake-gpu-operator. - cluster-management/index.md, self-managed.md: change ../fake-gpu-operator.md to ../fake-gpu-operator. fern check now passes with 0 errors. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
0b690fc to
dc783ff
Compare
TL;DR
Replace the lychee link-check step in Fern docs CI with fern's native `check.rules.broken-links: error` setting in `docs.yml`, and fix the 14 nav-tree link errors that would otherwise block CI.
Additional Details
Fern's checker validates links against the navigation tree, not just the filesystem. The lychee `--offline` check only caught missing files; fern also catches nav-context resolution errors -- links that exist on disk but resolve to the wrong section in the published docs.
The deprecated `--broken-links` CLI flag and `fern docs broken-links` subcommand both point to this config-based approach as the intended path.
The 14 nav-tree errors were all relative link resolution issues where Fern interprets `./target.md` relative to the page's slug rather than the filesystem directory. Fixes applied to quickstart.md, infrastructure-sizing.md, installation.md, cluster-management/index.md, and cluster-management/self-managed.md. Note: Fern slugifies "gRPC" as `g-rpc`, so links to grpc-load-testing.md use slug `g-rpc-load-testing`.
`fern check` passes with 0 errors after this change.
For the Reviewer
8 files changed: `fern/docs.yml` (warn → error), `fern-docs-ci.yml` (lychee step removed), and 6 `docs/user/` files with corrected nav-tree link paths.
For QA
`fern check` -- 0 errors, 13 warnings (unrelated redirect warnings, tracked in #351).
Issues
Fixes #330
Checklist
Summary by CodeRabbit