On 12/8/2021 3:04 PM, Junio C Hamano wrote: > We ship contrib/ stuff within our primary source tree but except for > the completion scripts that are tested from our primary test suite, > their test suites are not run in the CI. > > Teach the main Makefile a "test-extra" target, which goes into each > package in contrib/ whose Makefile has its own "test" target and > runs "make test" there. Add a "test-all" target to make it easy to > drive both the primary tests and these contrib tests from CI and use > it. > So, how about doing it this way? This is based on 'master' and does > not cover contrib/scalar, but if we want to go this route, it should > be trivial to do it on top of a merge of ab/ci-updates and js/scalar > into 'master'. Good idea? Terrible idea? Not good enough? > +# Additional tests from places in contrib/ that are prepared to take > +# "make -C $there test", but expects that the primary build is done > +# already. > +test-extra: all > + $(MAKE) -C contrib/diff-highlight test > + $(MAKE) -C contrib/mw-to-git test > + $(MAKE) -C contrib/subtree test I like how this is obviously extendible to include contrib/scalar in a later change, then remove it when Scalar moves. > +test-all:: test test-extra And this test-all implies that test runs before test-extra, so libgit.a is compiled appropriately. I think this approach looks good to me. > diff --git i/ci/run-build-and-tests.sh w/ci/run-build-and-tests.sh > index cc62616d80..9da0f26665 100755 > --- i/ci/run-build-and-tests.sh > +++ w/ci/run-build-and-tests.sh > @@ -19,7 +19,7 @@ make > case "$jobname" in > linux-gcc) > export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main > - make test > + make test-all Since we are now building and testing things that we have not been testing recently, it is worth checking that we don't have any work to do to make this pass. I assume that you've run 'make test-all' on your own machine. It will be good to see what the full action reports (probably all good). Thanks, -Stolee