Skip to content

Fix lychee CI link checker failures#1269

Merged
kixelated merged 7 commits into
mainfrom
fix-lychee-ci
Apr 9, 2026
Merged

Fix lychee CI link checker failures#1269
kixelated merged 7 commits into
mainfrom
fix-lychee-ci

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Summary

  • Add --fallback-extensions md to the doc lychee command so VitePress-style links (without .md extension) resolve correctly
  • Accept 403 status codes from sites that block automated requests (npmjs.com, linode.com)
  • Exclude nixos.org and letsencrypt.org which have intermittent network failures in CI

Test plan

  • Verified lychee --root-dir "$(pwd)/doc" --fallback-extensions md doc passes locally with 0 errors
  • CI passes

🤖 Generated with Claude Code

Add --fallback-extensions md for VitePress doc links that omit .md
extensions, accept 403 status codes from sites that block bots
(npmjs.com, linode.com), and exclude nixos.org/letsencrypt.org which
have intermittent network failures in CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The PR updates link-checking and CI. The justfile changes lychee calls to add --fallback-extensions md for the initial doc scan and to exclude CHANGELOG\.md in the second call. lychee.toml updates exclude_path (escaping CHANGELOG\.md and adding demo/web/src/.*\.html), adds accept for HTTP 200 and 403, and adds an exclude list for three external URLs. The GitHub Actions check job adds an early free-disk-space step. Multiple README files have updated hyperlink targets and relative license/doc paths.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and specifically describes the main focus of the pull request - fixing lychee CI link checker failures.
Description check ✅ Passed The description clearly explains the key changes made to fix lychee link checking issues, including fallback extensions, HTTP status handling, and exclusions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-lychee-ci
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch fix-lychee-ci

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.

@kixelated kixelated enabled auto-merge (squash) April 9, 2026 20:00
kixelated and others added 6 commits April 9, 2026 13:12
The CI runner was running out of disk space during maturin wheel
installation. Use jlumbroso/free-disk-space to remove pre-installed
software (Android SDK, .NET, Haskell, etc.) that isn't needed,
freeing ~30GB.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use glob pattern **/CHANGELOG.md to exclude all changelogs, not just root
- Fix doc.moq.dev/blog/first-cdn → moq.dev/blog/first-cdn/ in READMEs
- Fix LICENSE-MIT path in rs/moq-lite/README.md (relative to repo root)
- Fix auth doc paths in rs/moq-relay and rs/moq-token READMEs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
exclude_path takes regex patterns, not globs. CHANGELOG\.md matches
any path containing CHANGELOG.md (e.g. rs/hang/CHANGELOG.md).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add CHANGELOG\.md exclusion to CLI (config was overridden by --exclude-path)
- Exclude demo HTML files from lychee (Vite root-relative paths)
- Exclude iroh-live repo URL (no longer exists)
- Fix LICENSE paths in js/hang, js/ui-core READMEs (relative to repo root)
- Fix auth doc paths in js/token and root README
- Fix /rs and /js root-relative links in README
- Remove references to nonexistent rs/justfile and js/justfile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…usion

CLI --exclude-path overrides config, so all exclusions must be on the
command line for the non-doc lychee invocation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kixelated kixelated disabled auto-merge April 9, 2026 23:06
@kixelated kixelated merged commit 83c92e3 into main Apr 9, 2026
1 of 2 checks passed
@kixelated kixelated deleted the fix-lychee-ci branch April 9, 2026 23:06
This was referenced Apr 9, 2026
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