Skip to content

Validate and update links (STF-557)#189

Merged
horgh merged 3 commits into
mainfrom
greg/stf-557
Jun 5, 2026
Merged

Validate and update links (STF-557)#189
horgh merged 3 commits into
mainfrom
greg/stf-557

Conversation

@oschwald

@oschwald oschwald commented Jun 4, 2026

Copy link
Copy Markdown
Member

Adds a lychee link checker configuration and a Links GitHub Actions workflow (push, pull request, weekly schedule, and manual dispatch) so stale or redirecting links are caught automatically going forward. max_redirects is 0 so moved links surface and can be updated to their canonical destination.

Validated all links with lychee and updated those that redirected elsewhere:

  • https://dev.maxmind.com/geoip/docs/web-services -> https://dev.maxmind.com/geoip/docs/web-services/ (CLAUDE.md)
  • https://dev.maxmind.com/geoip/docs/web-services?lang=en -> https://dev.maxmind.com/geoip/docs/web-services/?lang=en (README.md, lib/maxmind/geoip2/client.rb, lib/maxmind/geoip2/model/city.rb, lib/maxmind/geoip2/model/enterprise.rb, lib/maxmind/geoip2/model/insights.rb)
  • https://dev.maxmind.com/geoip/docs/databases?lang=en -> https://dev.maxmind.com/geoip/docs/databases/?lang=en (README.md)
  • https://www.maxmind.com/en/correction -> https://www.maxmind.com/en/geoip-data-correction-request (README.md)
  • https://www.maxmind.com/en/support -> https://support.maxmind.com/knowledge-base (README.md, 2 occurrences)

Historical CHANGELOG.md entries are intentionally left unchanged (excluded from scanning).

Final lychee run: 34 Total, 28 OK, 0 Errors, 6 Excluded. RuboCop passes on all edited Ruby files.

Part of STF-557.

🤖 Generated with Claude Code

Comment thread .github/workflows/links.yml Fixed

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request configures the Lychee link checker by adding a lychee.toml configuration file, ignoring its cache in .gitignore, and updating various documentation URLs across several markdown and Ruby files to their canonical or updated destinations. Feedback on the configuration suggests not ignoring 5xx server errors globally, as this can mask broken links, and instead relying on Lychee's built-in retry mechanism.

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.

Comment thread lychee.toml
# 429: Too Many Requests
# 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"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Accepting all 500..=599 status codes means that any link returning a server error (such as 500 Internal Server Error, 502 Bad Gateway, or 504 Gateway Timeout) will be treated as valid and won't be caught by the link checker. This can hide permanently broken links or dead servers.\n\nTo handle transient network or server issues without ignoring all server errors, it is recommended to rely on Lychee's built-in retry mechanism (e.g., setting retry = true or max_retries) instead of accepting 5xx status codes globally.

Suggested change
accept = ["100..=103", "200..=299", "403", "429", "500..=599", "999"]
accept = ["100..=103", "200..=299", "403", "429", "999"]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

@oschwald oschwald force-pushed the greg/stf-557 branch 2 times, most recently from 7dcd303 to 189ab9e Compare June 4, 2026 20:36
oschwald and others added 3 commits June 4, 2026 22:01
Adds a lychee configuration and a Links GitHub Actions workflow so that
stale or redirecting links are caught automatically going forward. The
checker runs on push, pull request, and weekly to catch external link
rot. max_redirects is 0 so links that have moved are surfaced and can be
updated to their canonical destination.

Part of STF-557.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Validated all links with lychee and updated those that redirected
elsewhere:

- dev.maxmind.com/geoip/docs/web-services -> .../web-services/ (canonical trailing slash)
- dev.maxmind.com/geoip/docs/databases -> .../databases/ (canonical trailing slash)
- www.maxmind.com/en/correction -> /en/geoip-data-correction-request
- www.maxmind.com/en/support -> support.maxmind.com/knowledge-base

Historical CHANGELOG.md entries are intentionally left unchanged.

Part of STF-557.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolves zizmor ref-version-mismatch warnings on hash-pinned actions whose
version comments omitted the leading v (the pinned commits already match the
corresponding vX.Y.Z tags). Comment-only change.

Part of STF-557.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@horgh horgh merged commit c18db3f into main Jun 5, 2026
38 checks passed
@horgh horgh deleted the greg/stf-557 branch June 5, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants