Skip to content

Docs: Add external link validation with lychee - #4707

Open
aravindtga wants to merge 2 commits into
kptdev:mainfrom
Nordix:external-link-validation
Open

Docs: Add external link validation with lychee#4707
aravindtga wants to merge 2 commits into
kptdev:mainfrom
Nordix:external-link-validation

Conversation

@aravindtga

@aravindtga aravindtga commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Description

  • What changed: Added external link validation using lychee for the kpt documentation site, with a weekly CI workflow and a local make target.
  • Why it's needed: External links break over time as upstream projects move, rename, or archive content. Automated weekly checking catches dead links before users encounter them.
  • How it works: Hugo builds the site, then lychee checks all external (http/https) links in the rendered HTML. A lychee.toml config handles exclusions and rate limiting. The --root-dir flag resolves root-relative paths, while the scheme filter ensures only external links are validated.

Related Issue(s)

  • None

Sample run

https://github.com/aravindtga/kpt/actions/runs/32133719014

Type of Change

  • Documentation
  • New feature

Checklist

  • Code follows project style guidelines
  • Self-reviewed changes
  • Tests added/updated
  • Documentation added/updated
  • All tests and gating checks pass

AI Disclosure

  • I have used AI in the creation of this PR.

If so, please describe how:
- Kiro used to implement and validate the changes.

@netlify

netlify Bot commented Aug 17, 2026

Copy link
Copy Markdown

Deploy Preview for kptdocs ready!

Name Link
🔨 Latest commit ca4de0e
🔍 Latest deploy log https://app.netlify.com/projects/kptdocs/deploys/6a8447f37ee54f00084bb0ea
😎 Deploy Preview https://deploy-preview-4707--kptdocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@aravindtga
aravindtga force-pushed the external-link-validation branch from 3b8a8a0 to d9b2120 Compare August 17, 2026 13:31
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
@aravindtga
aravindtga force-pushed the external-link-validation branch from d9b2120 to 25455cf Compare August 18, 2026 11:02
@aravindtga
aravindtga marked this pull request as ready for review August 18, 2026 11:05
@aravindtga
aravindtga requested review from a team August 18, 2026 11:05
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. documentation Improvements or additions to documentation labels Aug 18, 2026
@aravindtga aravindtga self-assigned this Aug 18, 2026
@aravindtga
aravindtga requested a balanced review from Copilot August 18, 2026 11:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds automated external link checking for the documentation and updates several outdated doc URLs to reduce link rot.

Changes:

  • Add lychee configuration and a Makefile target for external link validation.
  • Add a weekly GitHub Actions workflow to verify spelling and check external links.
  • Update multiple documentation links (Docker docs, Kubernetes guidelines, Netlify badge, Dosu URL, etc.).

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
documentation/lychee.toml Adds lychee config (schemes, root dir, excludes, host throttling) for consistent link checking.
documentation/layouts/partials/footer.html Updates Netlify badge image URL used in the site footer.
documentation/content/en/reference/schema/crd-status-convention/_index.md Updates Kubernetes API conventions link from master to main.
documentation/content/en/reference/schema/config-connector-status-convention/_index.md Updates Config Connector links to newer docs.cloud.google.com URLs.
documentation/content/en/reference/cli/fn/eval/_index.md Updates Docker volumes reference URL.
documentation/content/en/installation/migration.md Fixes several stale GitHub/docs links referenced in migration docs.
documentation/content/en/book/07-effective-customizations/_index.md Updates Jinja project URL.
documentation/content/en/book/05-developing-functions/_index.md Updates Docker install URL.
documentation/content/en/book/04-using-functions/_index.md Updates Docker volumes reference URL in function mount docs.
documentation/content/en/book/01-getting-started/_index.md Updates Docker install URL in getting started docs.
documentation/content/en/_index.md Updates “public Dosu space” link to the new dosu app URL.
documentation/README.md Documents how to run external link checking locally and how to use a GitHub token.
documentation/Makefile Adds check-links-external target to run lychee against built HTML.
README.md Updates “public Dosu space” link to the new dosu app URL.
.github/workflows/docs-weekly.yml Adds scheduled weekly workflow for docs spelling + external link checks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread documentation/lychee.toml Outdated
Comment thread documentation/Makefile Outdated
Comment thread documentation/layouts/partials/footer.html Outdated
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
@aravindtga
aravindtga force-pushed the external-link-validation branch from de7d187 to ca4de0e Compare August 18, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants