Exclude broken external URLs from markdown link checker#2495
Exclude broken external URLs from markdown link checker#2495
Conversation
The lychee link checker CI job has been failing on every run due to 4 external URLs that are consistently unreachable from CI: - solargraph.org: SSL HandshakeFailure - coveralls.io: Returns 503 for automated requests - shakacode.controlplane.com: Connection refused from CI - storybook.js.org: Intermittent connection resets from CI Add these to the .lychee.toml exclude list, following the existing pattern for unreliable external sites. Co-Authored-By: Claude Opus 4.6 <[email protected]>
WalkthroughConfiguration updates to Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryAdds four external URLs to Lychee's exclusion list to prevent false positives in CI:
Also updates section comments for clarity ("BADGE AND CI SERVICES" and "SITES THAT RETURN 5xx FROM CI"). All exclusions follow existing patterns for unreliable external sites. The regex patterns are correctly formatted with escaped dots. Confidence Score: 5/5
Important Files Changed
Last reviewed commit: 526ac0c |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.lychee.toml (1)
55-62: Optional hardening:wwwvariants are not currently used in documentation.The verification shows no
www-prefixed variants ofcoveralls.ioorstorybook.js.orgappear in any markdown files. The documentation exclusively uses non-wwwURLs. While adding optionalwwwmatching would be defensive hardening to future-proof against doc changes, it is not necessary to prevent current failures.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.lychee.toml around lines 55 - 62, Update the host-blocking regexes to optionally match "www" variants so future docs using www are also covered: modify the existing patterns '^https://coveralls\.io' and '^https://storybook\.js\.org' (and any similar entries like '^https://reactrails\.com' or '^https://shakacode\.controlplane\.com' if desired) to allow an optional "www." prefix (e.g., using a non-capturing optional group like (?:www\.)?), or add separate '^https://www\.…' entries next to the current ones; ensure the changed strings in .lychee.toml replace or supplement the exact regex literals shown in the diff.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.lychee.toml:
- Around line 55-62: Update the host-blocking regexes to optionally match "www"
variants so future docs using www are also covered: modify the existing patterns
'^https://coveralls\.io' and '^https://storybook\.js\.org' (and any similar
entries like '^https://reactrails\.com' or
'^https://shakacode\.controlplane\.com' if desired) to allow an optional "www."
prefix (e.g., using a non-capturing optional group like (?:www\.)?), or add
separate '^https://www\.…' entries next to the current ones; ensure the changed
strings in .lychee.toml replace or supplement the exact regex literals shown in
the diff.
Review: Exclude Broken External URLs from Markdown Link CheckerOverall: LGTM — clean, low-risk config change following established patterns. Verified
Minor NitThe section heading was updated from "SITES THAT RETURN 504 FROM CI" to "SITES THAT RETURN 5xx FROM CI", but neither of the two new entries actually produce an HTTP 5xx response:
A more accurate heading would be something like "SITES UNRELIABLE FROM CI" or "SITES WITH CI CONNECTIVITY ISSUES". Not blocking, but worth noting for future maintainability. No security, performance, or correctness concerns. |
|
|
||
| # ============================================================================ | ||
| # SITES THAT RETURN 504 FROM CI | ||
| # SITES THAT RETURN 5xx FROM CI |
There was a problem hiding this comment.
Minor: shakacode.controlplane.com (connection refused) and storybook.js.org (connection reset) don't actually return HTTP 5xx responses — these are TCP-level failures. The section heading is slightly inaccurate for these two new entries.
Consider renaming the section to something like SITES WITH CI CONNECTIVITY ISSUES or SITES UNRELIABLE FROM CI to cover both HTTP 5xx errors and TCP-level failures under one umbrella.
## Summary - Exclude 4 external URLs that have been causing the markdown link checker CI job to fail on **every single run** - `solargraph.org` — SSL HandshakeFailure - `coveralls.io` — Returns 503 for automated requests - `shakacode.controlplane.com` — Connection refused from CI - `storybook.js.org` — Intermittent connection resets from CI These follow the existing pattern in `.lychee.toml` for excluding unreliable external sites that are not under our control. ## Test plan - [ ] Verify the markdown link checker CI job passes after merge - [ ] Confirm no legitimate link breakage is being masked (all 4 URLs are third-party sites with known CI-unfriendly behavior) 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk config-only change; the main downside is potentially masking future breakage for the newly excluded third-party domains. > > **Overview** > Updates `.lychee.toml` to expand the Lychee exclude list with several CI-unreliable third-party domains (SSL handshake failure, 503s, connection refused, intermittent resets) so the markdown link checker workflow stops failing on those external URLs. > > Also tweaks/clarifies comment grouping (e.g., **badge/CI services** and **5xx from CI**) to reflect the broader set of excluded sites. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 526ac0c. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated link validation configuration to exclude additional services from checks, including coveralls.io, shakacode.controlplane.com, and storybook.js.org. * Reorganized service categorization headers for improved clarity in configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.6 <[email protected]>
Summary
solargraph.org— SSL HandshakeFailurecoveralls.io— Returns 503 for automated requestsshakacode.controlplane.com— Connection refused from CIstorybook.js.org— Intermittent connection resets from CIThese follow the existing pattern in
.lychee.tomlfor excluding unreliable external sites that are not under our control.Test plan
🤖 Generated with Claude Code
Note
Low Risk
Low risk config-only change; the main downside is potentially masking future breakage for the newly excluded third-party domains.
Overview
Updates
.lychee.tomlto expand the Lychee exclude list with several CI-unreliable third-party domains (SSL handshake failure, 503s, connection refused, intermittent resets) so the markdown link checker workflow stops failing on those external URLs.Also tweaks/clarifies comment grouping (e.g., badge/CI services and 5xx from CI) to reflect the broader set of excluded sites.
Written by Cursor Bugbot for commit 526ac0c. Configure here.
Summary by CodeRabbit