* 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>
* fix(shortcodes): latest-patch CLI version for cloud-serverless
Add cloud-serverless to the condition that handles cloud products,
and use influxdb.latest directly for CLI version lookups.
Root cause: The shortcode only checked for "cloud" version when
deciding to use the influxdb CLI version. Cloud Serverless pages
have $product="influxdb3" which doesn't exist in products.yml,
causing $latestVersion to be empty.
Fix: Calculate $influxdbLatest directly from products.influxdb.latest
within the CLI block, ensuring cloud products always use the correct
lookup key (v2) for the influx CLI version.
Includes Cypress test covering v2, Cloud, and Cloud Serverless.
Closes#6646
* Restore latest-patch shortcode for cloud-serverless. Revert "hotfix: influxdb (v2) CLI version (#6644)"
This reverts commit 5f792bd47a.
* chore(link-checker): update configs for v1.3.0 severity classification (#6688)
Remove exclusions for sites that return 403/429 (bot protection) and
5xx (server errors) - these are now handled by severity classification:
- 403/401/429 → info (shown but don't fail CI)
- 5xx/timeout → warning (shown but don't fail CI)
- 404/410/DNS → error (fail CI)
Removed exclusions:
- GitHub, Slack, Reddit, StackOverflow
- Docker Hub, Grafana, Microsoft Learn
- Claude.ai, Dremio, Scarf, InfluxData support
Kept exclusions:
- Localhost/local network URLs
- Example/placeholder URLs
- CI-specific workarounds (canonical URLs, file fragments)
Added [severity] configuration section with default thresholds.
Update link-checker to v1.2.5 which adds --root-dir support for lychee v0.22.0+.
This fixes CI failures caused by lychee v0.22.0 (released Dec 5, 2025)
requiring --root-dir to resolve root-relative links in local files.
The link-checker now automatically sets --root-dir to the Hugo public/
directory when checking local HTML files.
Fixes failures for PRs touching /telegraf/v1 and /influxdb3/explorer paths.
- Use link-checker-v1.2.3 which includes fix for base URL detection
- Prevents false positives when checking local files for new pages
- Resolves broken link errors for pages that exist locally but not in production yet
Add comprehensive documentation for maintainers on how to:
- Create releases in docs-tooling (automated)
- Manually distribute binaries to docs-v2 (required for private repo)
- Update workflow references when needed
This addresses the missing process documentation for link-checker
binary distribution between the two repositories.
feat(ci): update link-checker to v1.2.2 and add manual sync workflow
- Update pr-link-check.yml to use link-checker-v1.2.2 with latest fixes
- Add sync-link-checker-binary.yml for manual binary distribution
- Improvements in v1.2.2: base URL detection, anchor validation, JSON parsing
The v1.2.2 release fixes the Hugo base URL detection issue and
improves anchor link validation that was tested in this PR.
chore(ci): Replaced PR link validation workflow with new workflow from docs-tooling/link-checker/.github-workflows-link-check.yml
chore: organize .gitignore
test: add content to trigger link-checker workflow
This small change tests the pr-link-check.yml workflow
feat: update link-checker workflow and documentation
- Add production config with corrected User-Agent placement
- Remove old link validation actions (replaced by link-checker)
fix: update link-checker workflow configuration
- Update Node.js version to 20 for dependency compatibility
feat: use pre-built link-checker binary from docs-tooling releases
- Replace building from source with downloading from releases
- Use GitHub API to get latest release and binary
- Maintain same artifact structure for downstream job
fix: improve change detection in pr-link-check workflow
- Use GitHub API for reliable PR file detection
- Add debug output to show all changed files
- Fix conditional logic for when jobs should run
docs: update TESTING.md with binary distribution and automated GitHub Actions integration
- Document pre-built binary download as recommended installation method
- Explain automated PR link checking workflow for docs-v2
- Replace manual GitHub Actions example with automated integration details
- Remove exaggerated language and specify actual exclusion types
fix(ci): download link-checker binary from docs-v2 releases
- Change binary source from private docs-tooling to public docs-v2 releases
- Fixes GitHub Actions permission issues accessing private repos
- Binary is now stored as a release asset on docs-v2 itself
test: add test file with valid links to verify workflow passes
test: remove temporary test file for link checker workflow
The test file was only needed to verify the workflow functionality
and should not be part of the documentation.
docs: update TESTING.md to document docs-v2 binary distribution
- Change primary installation method to download from docs-v2 releases
- Explain that binary distribution enables reliable GitHub Actions access
- Update automated workflow description to reflect docs-v2 release usage
- Maintain build-from-source as alternative option
refactor(ci): combine workflow into single job for cleaner PR display
- Merge detect-changes, build-site, and download-link-checker into single job
- All setup steps now run conditionally within one job
- Cleaner PR display shows only 'Check links in affected files'
- Maintains all functionality with improved UX
fix(ci): exclude problematic URLs from link checking
- Add reddit.com exclusions (blocks bots)
- Add support.influxdata.com exclusion (SSL certificate issues in CI)
- Prevents false positive failures in automated link checking