Skip to content

Skip flaky external URLs in lychee checks#2547

Merged
justin808 merged 1 commit intomasterfrom
jg/skip-redux-linkcheck
Mar 7, 2026
Merged

Skip flaky external URLs in lychee checks#2547
justin808 merged 1 commit intomasterfrom
jg/skip-redux-linkcheck

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 7, 2026

Summary

Add exact-match lychee exclusions for external URLs that intermittently fail from CI, so markdown link checks stop failing on third-party network issues unrelated to repo content. This covers redux.js.org, angularjs.org, and the referenced frigade.com article.

Pull Request checklist

[ ] Add/update test to cover these changes
[ ] Update documentation
[ ] Update CHANGELOG file

Other Information

Verified locally with bin/check-links (1590 OK, 0 Errors).


Note

Low Risk
Low risk config-only change that only affects CI link-check coverage by skipping a few unstable external URLs.

Overview
Updates .lychee.toml to exclude additional flaky third-party URLs from CI link checking by adding exact-match patterns for redux.js.org, angularjs.org, and a specific frigade.com blog post, reducing CI failures caused by intermittent external connectivity/5xx errors.

Written by Cursor Bugbot for commit 330cd3d. Configure here.

Summary by CodeRabbit

  • Chores
    • Updated development tooling configuration to exclude certain external resources from automated link verification checks.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 7, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 167e16e3-4f01-44a8-af76-7e9ae98f0377

📥 Commits

Reviewing files that changed from the base of the PR and between ce2fd27 and 330cd3d.

📒 Files selected for processing (1)
  • .lychee.toml

Walkthrough

Added three new URL exclusion patterns to the Lychee link checker configuration to prevent validation of Redux.js.org, AngularJS.org, and a specific Frigade blog article.

Changes

Cohort / File(s) Summary
Link Checker Configuration
.lychee.toml
Added three new regex patterns to the exclude list to skip validation of Redux.js.org, AngularJS.org, and a Frigade blog article URL.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐰 Three links now hop past the checker's keen eye,
Redux, Angular, Frigade—they'll bypass and fly!
Configuration tweaks, so gentle and light,
Keeping our link checker running just right! ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jg/skip-redux-linkcheck

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@justin808 justin808 merged commit e6c8000 into master Mar 7, 2026
17 of 18 checks passed
@justin808 justin808 deleted the jg/skip-redux-linkcheck branch March 7, 2026 04:04
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 7, 2026

Greptile Summary

This PR adds three exact-match exclusion patterns to .lychee.toml for external URLs that intermittently fail from CI, preventing false-positive link-check failures unrelated to repo content.

  • Adds '^https://redux\.js\.org/?$' — covers the root URL referenced in README.md and docs/misc/doctrine.md
  • Adds '^https://angularjs\.org/?$' — covers the root URL referenced in docs/migrating/angular-js-integration-migration.md
  • Adds '^https://frigade\.com/blog/bundle-size-reduction-with-rsc-and-frigade/?$' — covers the specific blog post referenced in docs/pro/major-performance-breakthroughs-upgrade-guide.md and react_on_rails_pro/docs/release-notes/v4-react-server-components.md
  • The intentional use of /?$ (optional trailing slash + end anchor) keeps exclusions narrow, avoiding over-suppression of other valid links on the same domains — consistent with the PR's stated goal of "exact-match" exclusions
  • All three patterns correctly match the exact URLs present in the markdown files scanned by bin/check-links; no broader domain coverage is needed since lychee only scans .md files

Confidence Score: 5/5

  • This PR is safe to merge — it only adds CI noise-reduction exclusions to a link checker config with no impact on runtime code.
  • The change is limited to a single config file, the regex patterns are correct and well-scoped, they match exactly the URLs that appear in the scanned markdown files, and the author verified 0 errors locally. No logic, no code, no risk of regression.
  • No files require special attention.

Important Files Changed

Filename Overview
.lychee.toml Adds three exact-match exclusion patterns for intermittently failing CI URLs (redux.js.org, angularjs.org, frigade.com); patterns correctly match the root/specific URLs referenced in markdown files checked by lychee.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[bin/check-links invoked] --> B[Collect git-tracked .md files\ndocs/**/*.md, *.md, react_on_rails_pro/**/*.md]
    B --> C[lychee --config .lychee.toml]
    C --> D{URL found in file}
    D --> E{Matches exclude pattern?}
    E -- Yes --> F[Skip URL\nno request made]
    E -- No --> G[HTTP request with\nmax_retries=4, timeout=20s]
    G --> H{Response code in\naccept list?}
    H -- 200 or 308 --> I[✅ OK]
    H -- Other --> J[❌ Error reported]
    F -.->|New exclusions added| K["'^https://redux\\.js\\.org/?$'\n'^https://angularjs\\.org/?$'\n'^https://frigade\\.com/blog/.../?$'"]
Loading

Last reviewed commit: 330cd3d

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 7, 2026

Review: Skip flaky external URLs in lychee checks

This is a clean, minimal config-only change. The approach is correct.

Verified: The three excluded URLs exactly match what is referenced in the repo:

  • redux.js.org - root-only links in README.md and docs/misc/doctrine.md
  • angularjs.org - root-only link in docs/migrating/angular-js-integration-migration.md
  • frigade.com/blog/... - exact path in react_on_rails_pro/docs/release-notes/v4-react-server-components.md and docs/pro/major-performance-breakthroughs-upgrade-guide.md

One minor observation: The new patterns use exact-match anchors (/?$) while some existing entries use prefix-match patterns (e.g., '^\https://storybook\.js\.org' covers all subpages). The exact-match approach for redux and angularjs is actually better practice here - it only skips the flaky root URL rather than silently ignoring any future deep links to those domains.

LGTM. The change is appropriately scoped and the /?$ trailing-slash handling correctly covers both https://redux.js.org and https://redux.js.org/ as used in the docs.

AbanoubGhadban pushed a commit that referenced this pull request Mar 7, 2026
### Summary

Add exact-match `lychee` exclusions for external URLs that
intermittently fail from CI, so markdown link checks stop failing on
third-party network issues unrelated to repo content. This covers
`redux.js.org`, `angularjs.org`, and the referenced `frigade.com`
article.

### Pull Request checklist

~[ ] Add/update test to cover these changes~
~[ ] Update documentation~
~[ ] Update CHANGELOG file~

### Other Information

Verified locally with `bin/check-links` (`1590 OK`, `0 Errors`).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk config-only change that only affects CI link-check coverage
by skipping a few unstable external URLs.
> 
> **Overview**
> Updates `.lychee.toml` to **exclude additional flaky third-party
URLs** from CI link checking by adding exact-match patterns for
`redux.js.org`, `angularjs.org`, and a specific `frigade.com` blog post,
reducing CI failures caused by intermittent external connectivity/5xx
errors.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
330cd3d. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
justin808 added a commit that referenced this pull request Mar 8, 2026
…upport

* origin/master: (38 commits)
  fix: use env-var-driven ports in Procfile templates to support multiple worktrees (#2539)
  Fix prettier formatting in auto-bundling doc
  Docs: Clarify .client/.server suffixes vs use client RSC directive (#2406)
  Warn against using .server/.client variants with RSC features
  Docs: move internal-only docs out of published docs trees (#2414)
  Fix crash when HTTPX::ErrorResponse is returned in get_form_body_for_file (#2532)
  Skip flaky external URLs in lychee checks (#2547)
  Update mise docs: prefer shell-level shims over conductor-exec (#2537)
  Document compression middleware compatibility with streaming SSR (#2544)
  Fix duplicate node-renderer message reporting in render failures (#2531)
  Fix private_output_path not configured on fresh Shakapacker installs (#2289)
  Bump the npm-security group across 1 directory with 3 updates (#2387)
  docs: use https links (#2518)
  Consolidate changelog to keep only rc6 prerelease (#2533)
  Fix CSS module class name divergence with rspack SSR (#2489)
  Bump version to 16.4.0.rc.6
  Add BugBot license scanning config (#2515)
  Fix buildVM promise cleanup ordering (#2483) (#2484)
  Fix streaming SSR hangs and silent error absorption in RSC payload injection (#2407)
  Ensure lefthook uses mise tools in non-interactive shells (#2512)
  ...

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 9, 2026
## Summary

- Add changelog entries for 6 user-visible PRs merged since v16.4.0.rc.6
that were missing from `[Unreleased]`
- Update existing #2561 entry to include #2568 contributor credit

### New entries added

| Section | PR | Description |
|---|---|---|
| Added | #2539 | Environment-variable-driven ports in Procfile
templates |
| Fixed | #2417 | Rspack generator config path fix |
| Fixed | #2419 | Precompile hook load-based execution fix |
| Fixed | #2577 | `create-react-on-rails-app` validation improvements |
| Pro Fixed | #2416 | StreamResponse status fallback fix |
| Pro Fixed | #2566 | Empty-string license plan mismatch fix |

### Skipped PRs (not user-visible)

Docs (#2406, #2414, #2479, #2494, #2518, #2537, #2544), CI/internal
(#2533, #2547, #2555, #2557, #2558, #2564), dependabot (#2387, #2541),
dev dependencies (#2559, #2569, #2573).

## Test plan

- [ ] Verify changelog formatting matches existing entries
- [ ] Verify all user-visible PRs since v16.4.0.rc.6 are covered

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only changelog updates with no runtime or build behavior
changes.
> 
> **Overview**
> Updates `CHANGELOG.md`’s **[Unreleased]** section to include
previously missing user-facing entries: Procfile templates now support
env-driven ports, several generator/`bin/dev` precompile-hook and
rspack-path fixes are documented, and `create-react-on-rails-app`
validation improvements are noted.
> 
> Also adds two Pro fix entries (StreamResponse status fallback and
license plan empty-string validation) and updates the existing `bin/dev`
precompile-hook entry to credit an additional PR/contributor.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
e75d2b5. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.6 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant