Skip to content

fix: resolve broken links across full codebase - #1137

Open
vdstrizhkova wants to merge 6 commits into
microsoft:mainfrom
vdstrizhkova:fix/codebase-lint-full-scan
Open

fix: resolve broken links across full codebase#1137
vdstrizhkova wants to merge 6 commits into
microsoft:mainfrom
vdstrizhkova:fix/codebase-lint-full-scan

Conversation

@vdstrizhkova

Copy link
Copy Markdown

Description

Resolves all broken external and internal links detected by the SPELL_LYCHEE linter during a full codebase scan. Prior to this change, MegaLinter reported 59 link errors across 23 documentation files; after this fix the lychee linter exits with 0 errors.

Changes by category

Domain migration — principles.green → learn.greensoftware.foundation

  • docs/design/sustainability/sustainable-engineering-principles.md — all seven principles.green URLs updated to equivalent paths on learn.greensoftware.foundation
  • docs/design/sustainability/README.md — two remaining principles.green URLs updated

Dead external URLs replaced with working equivalents

File Old URL New URL
docs/automated-testing/cdc-testing/README.md cloud.spring.io/spring-cloud-contract docs.spring.io/spring-cloud-contract/docs/current/reference/html/
docs/automated-testing/synthetic-monitoring-tests/README.md newrelic.com/products/synthetics newrelic.com/platform/synthetics
docs/agile-development/advanced-topics/collaboration/pair-programming-tools.md code.visualstudio.com/learn/collaboration/live-share visualstudio.microsoft.com/services/live-share/
docs/observability/tools/loki.md grafana.com/docs/loki/latest/getting-started/get-logs-into-loki/ grafana.com/docs/loki/latest/send-data/
docs/UI-UX/recommended-technologies.md fast.design/docs/integrations#react fast.design/docs/3.x/introduction/
docs/CI-CD/continuous-integration.md leankit.com/learn/lean/principles-of-lean-development/ en.wikipedia.org/wiki/Lean_software_development
docs/code-reviews/recipes/markdown.md plainenglish.co.uk/how-to-write-in-plain-english.html www.plainenglish.co.uk/
docs/source-control/git-guidance/README.md techoism.com/how-to-install-git-bash-on-windows/ gitforwindows.org/
docs/source-control/component-versioning.md dead GitHub Gist for Angular commit conventions conventionalcommits.org/en/v1.0.0/
CONTRIBUTING.md plainenglish.co.uk/how-to-write-in-plain-english.html www.plainenglish.co.uk/

Dead links removed (no replacement available)

  • docs/design/diagram-types/ (README, class-, component-, deployment-, sequence-diagrams) — removed dead towardsdatascience.com link; plain text preserved
  • docs/observability/observability-databricks.md — removed dead mspnp/spark-monitoring repo link (repository deleted); plain text preserved
  • docs/code-reviews/recipes/java.md — replaced dead Azure SDK checkstyle blob URL with link to repo root

Broken internal link fixed

  • docs/design/design-patterns/non-functional-requirements-capture-guide.md — corrected relative path ../../privacy/README.md../../non-functional-requirements/privacy/README.md

Lychee configuration (lychee.toml)

  • Added .copilot-tracking and .projector to exclude_path (project-management files not part of the docs)
  • Added bot-blocking domains to exclude list: goodreads.com, ranorex.com, dash.harvard.edu, tdurieux/anonymous_github — these are valid, live pages that return 503/429 for automated crawlers

PR Checklist

  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My code follows the code style of this project.
  • I ran the lint checks which produced no new errors nor warnings for my changes.
  • I have checked to ensure there aren't other open Pull Requests for the same update/change.

Does This Introduce a Breaking Change?

  • Yes
  • No

Testing

MegaLinter v8.1.0 run locally inside the devcontainer with VALIDATE_ALL_CODEBASE=true:

✅ Linted [MARKDOWN] files with [markdownlint]
✅ Linted [SPELL]    files with [cspell]
✅ Linted [MARKDOWN] files with [markdown-table-formatter]
✅ Linted [SPELL]    files with [lychee]          ← 0 errors (was 59)
✅ ACTION_ACTIONLINT
✅ YAML_PRETTIER
✅ YAML_YAMLLINT

OS: Debian GNU/Linux 11 (bullseye) inside dev container on macOS host.

Varvara Strizhkova added 2 commits July 21, 2026 06:12
- Add Docker-in-Docker feature and run-megalinter.sh script so MegaLinter
  can be executed locally via .devcontainer/run-megalinter.sh
- Update devcontainer base image to devcontainers/python:1 and remove
  stale Yarn apt repository that causes apt-get update failures
- Pin Pygments<2.20 in requirements-docs.txt to fix mkdocs build:
  Pygments 2.20.0 calls html.escape() on a filename option that pymdownx
  can pass as None, causing AttributeError during documentation build
- Accept HTTP 403/429 in lychee.toml to prevent false-positive link
  failures from GitHub rate-limiting and bot-protection in CI; also
  exclude known bot-blocking domains
- Update principles.green URLs to learn.greensoftware.foundation
- Fix Spring Cloud Contract, New Relic, Grafana Loki, FAST Design,
  VS Code Live Share, leankit, plainenglish, and other dead URLs
- Remove dead towardsdatascience.com link from diagram-type docs
- Remove dead mspnp/spark-monitoring repo link from observability docs
- Fix broken internal link in non-functional-requirements-capture-guide
- Update Angular commit conventions link to conventionalcommits.org
- Replace dead Git Bash install URL with gitforwindows.org
- Replace dead Azure SDK checkstyle blob URL with repo root link
- Add .copilot-tracking and .projector to lychee exclude_path
- Exclude bot-blocking domains from lychee: goodreads, ranorex,
  dash.harvard.edu, tdurieux/anonymous_github
Varvara Strizhkova added 4 commits July 22, 2026 08:07
vitejs.dev redirects to vite.dev; CI lychee runner fails to follow
the redirect, causing a network error. Update all 10 occurrences.
…onapp.com

- reactjs.org now redirects to react.dev or legacy.reactjs.org;
  update all occurrences in UI-UX docs
- vitejs.dev in UI-UX/README.md missed in previous pass; update to vite.dev
- invisionapp.com returns 500 to CI runner IPs; add to lychee exclude list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant