[ 
https://issues.apache.org/jira/browse/NUTCH-3195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on NUTCH-3195 started by Lewis John McGibbney.
---------------------------------------------------
> Make Apache Yetus a trustworthy precommit signal for Nutch
> ----------------------------------------------------------
>
>                 Key: NUTCH-3195
>                 URL: https://issues.apache.org/jira/browse/NUTCH-3195
>             Project: Nutch
>          Issue Type: Task
>          Components: ci/cd
>            Reporter: Lewis John McGibbney
>            Assignee: Lewis John McGibbney
>            Priority: Major
>             Fix For: 1.24
>
>
> NUTCH-3163 put Apache Yetus into GitHub Actions so pull requests get 
> automated precommit feedback (spelling, whitespace, shell/Dockerfile lint, 
> secret scanning, markdown, and related checks). On pushes to master, Yetus 
> also scans the *entire* tree. That full-tree run currently fails hard: 
> thousands of findings, many of them historical noise or intentional test 
> content, mixed with a smaller set of real problems worth fixing.
> As long as master stays red for the wrong reasons, Yetus cannot be a reliable 
> signal. Reviewers learn to ignore it; contributors get drowned in unrelated
> output; we cannot honestly make the check required. This parent tracks the 
> work to separate noise from signal, fix what is actually wrong, pay down 
> style debt in reviewable slices, and only then treat Yetus as a gate we trust.
> *What went wrong on master?*
> A recent full-tree run (Yetus 0.15.1) voted -1 with large counts in 
> codespell, blanks/tabs, markdownlint, @author, shellcheck, detsecrets, 
> hadolint, shelldocs, and jshint. Much of that is expected for a long-lived 
> codebase the first time a
> whole-tree linter is applied (for example, language-identifier test corpora 
> are full of non-English words that codespell treats as typos; auth test 
> fixtures
> trip detect-secrets). A meaningful remainder is real: misspellings in product 
> code, fragile patterns in bin/crawl and bin/nutch, Dockerfile structure, 
> missing shelldocs annotations, and one jshint nit.
> PR patch mode already focuses on changed lines. The initiative is about 
> making master full-tree results honest and eventually green—without forcing a 
> single unreviewable mega-PR.
> *How we will attack it?*
> Work is split into linked child issues so each PR has one job and can be 
> reviewed thoroughly. Early children are allowed to leave master Yetus red;
> getting the diff right matters more than painting the build green too soon. 
> Yetus should remain informational until the cleanup is done; only then should 
> we consider making it a required PR check.
>  * Child A — Teach Yetus what “not a bug” looks like (excludes, codespell 
> ignores, reviewed detsecrets hash baseline). No behavior changes.
>  * Child B — Fix defects the gate is right about (product typos, shellcheck 
> {*}errors{*}, Dockerfile structure, shelldocs, jshint). Behavior-preserving 
> where scripts change; manual smoke checklist for bin tools.
>  * Child C — Pay down historical style debt (@author removal, blanks/tabs, 
> markdownlint) in small PRs; hybrid markdown rule tuning so we do not rewrite 
> every README for list-marker fashion.
>  * Child D — Finish shellcheck on bin/crawl and bin/nutch (warnings/notes) 
> after the error-level fixes in B; can proceed in parallel with C.
> Related earlier work: NUTCH-3163, NUTCH-3192.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to