Validate and update links (STF-557)#244
Conversation
There was a problem hiding this comment.
Code Review
This pull request configures the Lychee link checker by adding .lycheecache to .gitignore, creating lychee.toml and mise.toml configurations, and updating several outdated URLs in README.md and composer.json. The review feedback suggests removing 5xx status codes from the accepted list in lychee.toml to prevent permanently broken links from being silently ignored.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| # 500-599: Server errors (temporary issues shouldn't fail CI) | ||
| # 999: LinkedIn's custom status code | ||
| accept = ["100..=103", "200..=299", "403", "429", "500..=599", "999"] |
There was a problem hiding this comment.
Accepting all 5xx server errors (500..=599) defeats the purpose of link checking, as permanently broken links returning internal server errors or bad gateways will be silently ignored. It is better to remove 500..=599 from the accept list. If temporary network issues or rate limits are a concern, consider using lychee's retry mechanism or excluding specific flaky domains instead.
| # 500-599: Server errors (temporary issues shouldn't fail CI) | |
| # 999: LinkedIn's custom status code | |
| accept = ["100..=103", "200..=299", "403", "429", "500..=599", "999"] | |
| # 999: LinkedIn's custom status code | |
| accept = ["100..=103", "200..=299", "403", "429", "999"] |
There was a problem hiding this comment.
Keeping 500..=599 in accept, matching the dev-site and blog-site configs — transient upstream 5xx shouldn't fail link-checking CI.
— Claude (posted on Greg's behalf)
Part of STF-557. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- composer.json author homepage: https://www.maxmind.com/ -> https://www.maxmind.com/en/home - README.md Fedora package page: https://apps.fedoraproject.org/packages/php-maxminddb -> https://packages.fedoraproject.org/pkgs/php-maxminddb/php-maxminddb/ - README.md EPEL repository: https://fedoraproject.org/wiki/EPEL -> https://docs.fedoraproject.org/en-US/epel/ - README.md libmaxminddb tarball anchor: .../README.md#installing-from-a-tarball -> .../README.md#from-a-named-release-tarball - README.md support page: https://www.maxmind.com/en/support -> https://support.maxmind.com/knowledge-base Part of STF-557. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a lychee link checker configuration and a CI
workflow (
.github/workflows/links.yml), and fixes stale/redirecting linkssurfaced by the check.
Setup
lychee.tomlwithmax_redirects = 0(canonical-URL enforcement) and theshared MaxMind accept/exclude lists.
mise.tomlpinninglychee = "0.23.0"plus acheck-linkstask(globs:
'./**/*.md' './src/**/*.php' './composer.json')..github/workflows/links.ymlruns lychee via mise (install: false+MISE_AUTO_INSTALL: false, so only lychee is installed, not the fulltoolchain). Scheduled weekly to catch external link rot.
.lycheecacheadded to.gitignore.Link fixes
https://www.maxmind.com/->https://www.maxmind.com/en/homehttps://apps.fedoraproject.org/packages/php-maxminddb->https://packages.fedoraproject.org/pkgs/php-maxminddb/php-maxminddb/https://fedoraproject.org/wiki/EPEL->https://docs.fedoraproject.org/en-US/epel/.../README.md#installing-from-a-tarball->.../README.md#from-a-named-release-tarballhttps://www.maxmind.com/en/support->https://support.maxmind.com/knowledge-baseFinal lychee run: 13 OK, 0 errors, 1 excluded.
Part of STF-557.
🤖 Generated with Claude Code