diff options
| author | Junio C Hamano <gitster@pobox.com> | 2026-02-13 13:39:26 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-02-13 13:39:26 -0800 |
| commit | e10d5fcad046f3fabbad715f12f2d93d00f6ee60 (patch) | |
| tree | 684df545d0562ae8035ca802a84e7c69c9a2d674 | |
| parent | 29722ee3a3ed8e4556bbdb97cb64046e130abeea (diff) | |
| parent | c591c3ceffd0a033eb228ebb54c596362ded5615 (diff) | |
| download | git-e10d5fcad046f3fabbad715f12f2d93d00f6ee60.tar.xz | |
Merge branch 'jc/ci-test-contrib-too'
Test contrib/ things in CI to catch breakages before they enter the
"next" branch.
* jc/ci-test-contrib-too:
: Some of our downstream folks run more tests than we do and catch
: breakages in them, namely, where contrib/*/Makefile has "test" target.
: Let's make sure we fail upon accepting a new topic that break them in
: 'seen'.
ci: ubuntu: use GNU coreutils for dirname
test: optionally test contrib in CI
| -rw-r--r-- | Makefile | 6 | ||||
| -rwxr-xr-x | ci/install-dependencies.sh | 11 | ||||
| -rwxr-xr-x | ci/run-build-and-tests.sh | 3 | ||||
| -rw-r--r-- | contrib/Makefile | 10 |
4 files changed, 30 insertions, 0 deletions
@@ -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. @@ -3371,6 +3374,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/install-dependencies.sh b/ci/install-dependencies.sh index 6ee8216a05..c55441d9df 100755 --- a/ci/install-dependencies.sh +++ b/ci/install-dependencies.sh @@ -76,6 +76,17 @@ ubuntu-*|i386/ubuntu-*|debian-*) sudo update-alternatives --set sudo /usr/bin/sudo.ws fi + # on uutils v0.2.2 from rust-coreutils, + # dirname "foo/." + # outputs "." instead of "foo" like it should. + # Use GNU coreutils to provide dirname instead. + # + # See <https://github.com/uutils/coreutils/issues/10508>. + if test -x /usr/bin/gnudirname + then + ln -sfT /usr/bin/gnudirname /usr/bin/dirname + fi + case "$distro" in ubuntu-*) mkdir --parents "$CUSTOM_PATH" 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 $@ |
