fix: resolve broken links across full codebase - #1137
Open
vdstrizhkova wants to merge 6 commits into
Open
Conversation
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
vdstrizhkova
requested review from
TessFerrandez,
nyouens and
shiranr
as code owners
July 22, 2026 06:42
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Resolves all broken external and internal links detected by the
SPELL_LYCHEElinter 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 sevenprinciples.greenURLs updated to equivalent paths onlearn.greensoftware.foundationdocs/design/sustainability/README.md— two remainingprinciples.greenURLs updatedDead external URLs replaced with working equivalents
docs/automated-testing/cdc-testing/README.mdcloud.spring.io/spring-cloud-contractdocs.spring.io/spring-cloud-contract/docs/current/reference/html/docs/automated-testing/synthetic-monitoring-tests/README.mdnewrelic.com/products/syntheticsnewrelic.com/platform/syntheticsdocs/agile-development/advanced-topics/collaboration/pair-programming-tools.mdcode.visualstudio.com/learn/collaboration/live-sharevisualstudio.microsoft.com/services/live-share/docs/observability/tools/loki.mdgrafana.com/docs/loki/latest/getting-started/get-logs-into-loki/grafana.com/docs/loki/latest/send-data/docs/UI-UX/recommended-technologies.mdfast.design/docs/integrations#reactfast.design/docs/3.x/introduction/docs/CI-CD/continuous-integration.mdleankit.com/learn/lean/principles-of-lean-development/en.wikipedia.org/wiki/Lean_software_developmentdocs/code-reviews/recipes/markdown.mdplainenglish.co.uk/how-to-write-in-plain-english.htmlwww.plainenglish.co.uk/docs/source-control/git-guidance/README.mdtechoism.com/how-to-install-git-bash-on-windows/gitforwindows.org/docs/source-control/component-versioning.mdconventionalcommits.org/en/v1.0.0/CONTRIBUTING.mdplainenglish.co.uk/how-to-write-in-plain-english.htmlwww.plainenglish.co.uk/Dead links removed (no replacement available)
docs/design/diagram-types/(README, class-, component-, deployment-, sequence-diagrams) — removed deadtowardsdatascience.comlink; plain text preserveddocs/observability/observability-databricks.md— removed deadmspnp/spark-monitoringrepo link (repository deleted); plain text preserveddocs/code-reviews/recipes/java.md— replaced dead Azure SDK checkstyle blob URL with link to repo rootBroken internal link fixed
docs/design/design-patterns/non-functional-requirements-capture-guide.md— corrected relative path../../privacy/README.md→../../non-functional-requirements/privacy/README.mdLychee configuration (
lychee.toml).copilot-trackingand.projectortoexclude_path(project-management files not part of the docs)excludelist:goodreads.com,ranorex.com,dash.harvard.edu,tdurieux/anonymous_github— these are valid, live pages that return 503/429 for automated crawlersPR Checklist
Does This Introduce a Breaking Change?
Testing
MegaLinter v8.1.0 run locally inside the devcontainer with
VALIDATE_ALL_CODEBASE=true:OS: Debian GNU/Linux 11 (bullseye) inside dev container on macOS host.