* chore(ci): upgrade link-checker to v1.3.1 and improve reporting
- Update workflow to use link-checker v1.3.1
- Fix heredoc bug that prevented template variable evaluation
- Improve broken link reporting with:
- Severity indicators (error vs warning)
- Table format for better readability
- Content file path mapping for easier fixing
- Collapsible troubleshooting tips
- Add fallback parsing for different JSON output structures
- Update config file comments to reference v1.3.1
https://claude.ai/code/session_015JNkhFiwJnoAxJLBP7AiyZ
* fix(ci): fix sync-link-checker-binary workflow
- Add missing checkout step (gh release requires a git repo)
- Use DOCS_TOOLING_TOKEN secret for cross-repo private access
- Use GitHub API to fetch release info instead of direct URL
- Add binary size validation to catch failed downloads
- Handle optional checksums.txt gracefully
* fix(ci): align workflow JSON parsing with link-checker v1.3.1 output
Tested link-checker v1.3.1 locally and discovered the actual JSON
structure differs from what the workflow assumed:
- summary.error_count (not broken_count)
- errors[]/warnings[]/info[] arrays (not files[] or broken_links[])
- Each entry: {url, status, error, file, line, severity}
Changes:
- Fix summary field names to match v1.3.1 JSON schema
- Parse .errors[] and .warnings[] arrays correctly
- Show warnings in collapsible section (don't fail CI)
- Map public/ paths to content/ paths for GitHub annotations
- Handle missing line numbers gracefully
- Cap warnings display at 20 with note about artifacts
* fix: broken links from issues #6682, #6461
- Fix wrong path /influxdb/v2/upgrade/v2-beta-to-v2/ →
/influxdb/v2/install/upgrade/v2-beta-to-v2/ (#6682)
- Fix fragment mismatch: #disable-the-internal-database →
#disable-the-_internal-database (Hugo renders backtick `_internal`
with underscore in anchor) (#6461)
- Fix dead links to /flux/v0/stdlib/universe/from →
/flux/v0/stdlib/influxdata/influxdb/from/ (from() moved from
universe to influxdata/influxdb package) (#6682)
closes#6682, closes#6461
* Update content/influxdb/v1/flux/get-started/_index.md
Force error to test workflow
* fix(ci): reclassify file-not-found warnings as errors in link checker
link-checker v1.3.1 classifies missing local files as warnings because
they have no HTTP status code and don't match error_codes=[404,410].
This meant broken internal links (like /flux/v0/stdlib/influxdata/influxdbfrom/)
were reported as warnings but didn't fail CI.
Fix by post-processing link-check-results.json to move "Cannot find file"
entries from warnings to errors before evaluating the check result.
Also reverts the intentional test bug in influxdb/v1/flux/get-started/_index.md.
* test(ci): intentionally broken fragment to test link-checker detection
Introduces broken heading anchor #tools-for-working-with-fluxxx (extra x)
to verify whether link-checker/lychee validates fragment anchors on local
files. Also documents the known gap: lychee doesn't validate fragments on
local file URLs (it checks file existence but doesn't open index.html to
verify heading anchors exist).
This commit should be reverted after testing.
* fix(ci): revert test fragment, document fragment checking limitation
Reverts the intentional broken fragment test. Workflow confirmed that
lychee does not validate heading anchors on local file URLs — it checks
file/directory existence but doesn't open index.html to verify fragments.
The ^file://.*# exclusion must remain to prevent false positives from
Hugo pretty URL resolution (lychee resolves /page#frag as file:///page
instead of file:///page/index.html).
Updated config comments to document this known gap clearly.
* chore(ci): update link-checker to v1.4.0
* Update link-checker to v1.5.0 in PR workflow
* fix(platform): broken link
---------
Co-authored-by: Claude <noreply@anthropic.com>