From: Johannes Schindelin <johannes.schindelin@gmx.de>
I noticed recently that the leak-checking jobs still take a lot of time, and upon analysis, the git-svn tests contribute significantly to this.
Analyzing a recent CI run, I saw that the Git test suite contains 1,017 tests, running for approximately 5¼ hours total. Of these, 65 git-svn-related tests (~6% of test count) took 42.24 minutes combined, accounting for ~13.% of the total runtime. This implies that the git-svn tests are roughly twice as expernsive compared to the other tests.
However, testing git-svn in the leak-checking jobs provides minimal value: git-svn is implemented as a Perl script, and leak checking only handles C code. While git-svn does call into Git's built-in commands that are implemented in C, these are standard Git operations that are already thoroughly exercised elsewhere in the test suite. Therefore, running the git-svn tests in the leak-checking jobs only adds to the overall run time with little value in return.
Given that the leak-checking jobs are particularly time-intensive and these 42+ minutes of SVN tests per job provide no additional leak detection value, skip them in the *-leaks jobs to reduce CI runtime.
Assisted-by: Claude Sonnet 4.5
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
ci(*-leaks): skip the git-svn tests to save time
I leaned heavily on AI to implement this patch, in particular when
analyzing the logs. That's why I added that trailer talking about Claude
Sonnet. If this is undesirable, please let me know.Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2031%2Fdscho%2Fskip-svn-and-leak-tests-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2031/dscho/skip-svn-and-leak-tests-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/2031
ci/lib.sh | 1 + 1 file changed, 1 insertion(+)
Show changes to ci/lib.sh +1 −0
diff --git a/ci/lib.sh b/ci/lib.sh index f561884d40..a165c7f268 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -356,6 +356,7 @@ linux-musl-meson) ;; linux-leaks|linux-reftable-leaks) export SANITIZE=leak + export NO_SVN_TESTS=LetsSaveSomeTime ;; linux-asan-ubsan) export SANITIZE=address,undefined base-commit: 7264e61d87e58b9d0f5e6424c47c11e9657dfb75
-- gitgitgadget