aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2026-02-02 13:07:58 -0800
committerJunio C Hamano <gitster@pobox.com>2026-02-05 09:26:18 -0800
commit3c6162ea5c137fb90d100865162f460af9f53a0a (patch)
tree00a9dfb9826f3519e50f963e57f6fa8d4a843da6
parent67ad42147a7acc2af6074753ebd03d904476118f (diff)
downloadgit-3c6162ea5c137fb90d100865162f460af9f53a0a.tar.xz
test: optionally test contrib in CI
Recently it was reported that a topic merged to 'next' broke build and test for contrib/subtree part of the system. Instead of having those who run 'next' or 'master' to hit the build and test breakage and report to us, make sure we notice breakages in contrib/ area before they hit my tree at all, during their own presubmit testing. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Makefile6
-rwxr-xr-xci/run-build-and-tests.sh3
-rw-r--r--contrib/Makefile10
3 files changed, 19 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 8aa489f3b6..d0ab8fdb04 100644
--- a/Makefile
+++ b/Makefile
@@ -342,6 +342,9 @@ include shared.mak
# If it isn't set, fallback to $LC_ALL, $LANG or use the first utf-8
# locale returned by "locale -a".
#
+# Define TEST_CONTRIB_TOO to make "make test" run tests in contrib/
+# directories.
+#
# Define HAVE_CLOCK_GETTIME if your platform has clock_gettime.
#
# Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC.
@@ -3369,6 +3372,9 @@ export TEST_NO_MALLOC_CHECK
test: all
$(MAKE) -C t/ all
+ifdef TEST_CONTRIB_TOO
+ $(MAKE) -C contrib/ test
+endif
perf: all
$(MAKE) -C t/perf/ all
diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
index 8bda62b921..28cfe730ee 100755
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -5,6 +5,8 @@
. ${0%/*}/lib.sh
+export TEST_CONTRIB_TOO=yes
+
case "$jobname" in
fedora-breaking-changes-musl|linux-breaking-changes)
export WITH_BREAKING_CHANGES=YesPlease
@@ -36,6 +38,7 @@ linux-sha256)
linux-reftable|linux-reftable-leaks|osx-reftable)
export GIT_TEST_DEFAULT_REF_FORMAT=reftable
;;
+
esac
case "$jobname" in
diff --git a/contrib/Makefile b/contrib/Makefile
new file mode 100644
index 0000000000..787cd07f52
--- /dev/null
+++ b/contrib/Makefile
@@ -0,0 +1,10 @@
+all::
+
+test::
+ $(MAKE) -C diff-highlight $@
+ $(MAKE) -C subtree $@
+
+clean::
+ $(MAKE) -C contacts $@
+ $(MAKE) -C diff-highlight $@
+ $(MAKE) -C subtree $@