kumarUjjawal opened a new pull request, #25287: URL: https://github.com/apache/datafusion/pull/25287
## Which issue does this PR close? - Part of #21048. The issue stays open for the other checklist items. ## Rationale for this change `dev/rust_lint.sh` is the local mirror of the CI lint jobs, but it does not run the Markdown link check. CI runs `ci/scripts/markdown_link_check.sh` in `dev.yml`. A developer can push a broken internal link after a clean local lint run and then see the failure only in CI. This PR adds the existing checker to the local suite. ## What changes are included in this PR? - `dev/rust_lint.sh` runs `ci/scripts/markdown_link_check.sh` as a read-only step, after the workflow install check and before the Rust documentation build. The `--write` and `--allow-dirty` flags never reach it. - The runner loads `LYCHEE_VERSION` from `ci/scripts/utils/tool_versions.sh` and installs that version when `lychee` is missing. An installed `lychee` is used as is, which is the runner's existing policy for other tools. - `ci/scripts/markdown_link_check.sh` becomes executable, because the runner invokes each registered script directly. The script body, `lychee.toml`, the file selection, and the GitHub workflow do not change. - `docs/source/contributor-guide/testing.md` documents the new behavior and keeps the standalone instructions. ## What is the testing strategy for this PR? - A disposable fixture with stubbed steps and tools: the checker runs once with no arguments in check mode and in both write modes, a missing `lychee` triggers exactly the pinned install command, a present `lychee` triggers no install, and a checker failure stops the suite before the later steps. - A disposable clone with an injected broken internal link: the standalone checker and `./dev/rust_lint.sh` both fail with the same exit code and name the file. After the fix, the full suite passes. - The real checker and the full `./dev/rust_lint.sh` pass on this branch with `lychee` 0.23.0. ## Are there any user-facing changes? No. Developers get the link check in the local lint suite. CI is unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
