Skip to content

Validate and update links (STF-557)#33

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

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

Conversation

@oschwald

@oschwald oschwald commented Jun 4, 2026

Copy link
Copy Markdown
Member

Validates all repository links with lychee and adds a
lychee config plus a Links CI workflow so stale or redirecting links are caught
automatically going forward. max_redirects = 0 so moved links are surfaced and
updated to their canonical destination.

Changes

Config / CI (commit A):

  • lychee.toml — link checker configuration (mirrors the shared MaxMind config)
  • .github/workflows/links.yml — Links workflow (push, pull_request, weekly schedule, manual)
  • .gitignore — ignore .lycheecache

Link fixes (commit B):

  • README.dev.md: http://central.sonatype.org/pages/working-with-pgp-signatures.html
    (301) -> https://central.sonatype.org/publish/requirements/gpg/
  • lychee.toml: excluded placeholder hosts custom.maxmind.com and
    test.maxmind.com that appear only in a docstring example and unit tests
    (not real, resolvable endpoints).

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

Final lychee result: 9 OK, 0 errors, 13 excluded.

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 lychee.toml, ignoring its cache in .gitignore, and updating a GPG requirements link in README.dev.md. The feedback suggests refining the GitHub blob URL exclusion regex in lychee.toml to support branch names, and improving accessibility in README.dev.md by replacing the generic link text 'here' with more descriptive text.

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
# Exclude URL patterns from checking (treated as regular expressions)
exclude = [
# GitHub blob URLs with line-number fragments (not parseable as page anchors)
'^https://github\.com/[^/]+/[^/]+/blob/[0-9a-fA-F]+/.+#L\d+$',

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

The current regular expression only matches GitHub blob URLs that contain a hexadecimal commit hash (due to [0-9a-fA-F]+). If a link references a branch name (such as main or master) with a line number fragment (e.g., .../blob/main/README.md#L10), it will not be excluded. Since lychee can fail to resolve line-number fragments on GitHub pages, this can lead to unexpected CI failures. Replacing [0-9a-fA-F]+ with [^/]+ will correctly match and exclude URLs with any branch name or commit hash.

Suggested change
'^https://github\.com/[^/]+/[^/]+/blob/[0-9a-fA-F]+/.+#L\d+$',
'^https://github\\.com/[^/]+/[^/]+/blob/[^/]+/.+#L\\d+$',

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.

This GitHub-blob exclude is taken verbatim from the dev-site lychee config and is intentionally narrow — it only skips unverifiable blob/<sha>#L.. line-fragment links. Branch-ref blob links are checked normally and resolve fine in these repos, so we kept the shared pattern.

— Claude (posted on Greg's behalf)

Comment thread README.dev.md
Make sure you publish it to a keyserver. See
[here](http://central.sonatype.org/pages/working-with-pgp-signatures.html) for
more info.
[here](https://central.sonatype.org/publish/requirements/gpg/) for more info.

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

Using generic link text like 'here' is an accessibility anti-pattern because it does not provide descriptive context for screen readers or users scanning the document. Consider using more descriptive link text that clearly indicates the destination.

Suggested change
[here](https://central.sonatype.org/publish/requirements/gpg/) for more info.
[Sonatype's GPG requirements](https://central.sonatype.org/publish/requirements/gpg/) for more info.

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.

This is pre-existing copy not changed by this PR (which only validates/updates link targets); leaving wording/accessibility edits out of scope here.

— Claude (posted on Greg's behalf)

@oschwald oschwald force-pushed the greg/stf-557 branch 2 times, most recently from 05c9cd1 to f1eccdd Compare June 4, 2026 20:36
oschwald and others added 3 commits June 4, 2026 22:04
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 the one that redirected,
plus excluded placeholder example/test hosts that aren't real endpoints:

- README.dev.md: http://central.sonatype.org/pages/working-with-pgp-signatures.html
  (301) -> https://central.sonatype.org/publish/requirements/gpg/
- lychee.toml: exclude placeholder hosts custom.maxmind.com and
  test.maxmind.com used only in docstring examples and unit tests.

Historical CHANGELOG.md entries are intentionally left unchanged.

Part of STF-557.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mise.toml did not previously use a lockfile; enable it and commit mise.lock so
the lychee version (floated to "latest" in mise.toml) is pinned for
reproducible link checking.

Part of STF-557.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@horgh horgh merged commit b7c0c0d into main Jun 5, 2026
10 checks passed
@horgh horgh deleted the greg/stf-557 branch June 5, 2026 21:26
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