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]

Reply via email to