On Mon, Nov 21, 2022 at 1:04 PM Jeff King <peff@xxxxxxxx> wrote: > On Sun, Nov 20, 2022 at 11:02:54PM -0500, Eric Sunshine wrote: > > Overall, I think Ævar's plan to parallelize linting via "make" is > > probably the way to go. > > TBH, I think just running the linter once per test script when the > script is run would be sufficient. That is one extra process per script, > but they are already shell scripts running a bunch of processes. You get > parallelism for free because you're already running the tests in > parallel. You lose out on "don't bother linting because the file hasn't > changed", but I'm not sure that's really worth the extra complexity > overall. Hmm, yes, that's appealing (especially since I've essentially given up on making linting fast on Windows), and it wouldn't be hard to implement. In fact, it's already implemented by 23a14f3016 (test-lib: replace chainlint.sed with chainlint.pl, 2022-09-01); making it work the way you describe would just involve dropping 69b9924b87 (t/Makefile: teach `make test` and `make prove` to run chainlint.pl, 2022-09-01) and 29fb2ec384 (chainlint.pl: validate test scripts in parallel, 2022-09-01). I think Ævar's use-case for `make` parallelization was to speed up git-bisect runs. But thinking about it now, the likelihood of "lint" problems cropping up during a git-bisect run is effectively nil, in which case setting GIT_TEST_CHAIN_LINT=1 should be a perfectly appropriate way to take linting out of the equation when bisecting.