git/ci
Johannes Schindelin cf5dcd817a ci(linux-asan/linux-ubsan): let's save some time
Every once in a while, the `git-p4` tests flake for reasons outside of
our control. It typically fails with "Connection refused" e.g. here:
https://github.com/git/git/actions/runs/5969707156/job/16196057724

	[...]
	+ git p4 clone --dest=/home/runner/work/git/git/t/trash directory.t9807-git-p4-submit/git //depot
	  Initialized empty Git repository in /home/runner/work/git/git/t/trash directory.t9807-git-p4-submit/git/.git/
	  Perforce client error:
		Connect to server failed; check $P4PORT.
		TCP connect to localhost:9807 failed.
		connect: 127.0.0.1:9807: Connection refused
	  failure accessing depot: could not run p4
	  Importing from //depot into /home/runner/work/git/git/t/trash directory.t9807-git-p4-submit/git
	 [...]

This happens in other jobs, too, but in the `linux-asan`/`linux-ubsan`
jobs it hurts the most because those jobs often take an _awfully_ long
time to run, therefore re-running a failed `linux-asan`/`linux-ubsan`
jobs is _very_ costly.

The purpose of the `linux-asan`/`linux-ubsan` jobs is to exercise the C
code of Git, anyway, and any part of Git's source code that the `git-p4`
tests run and that would benefit from the attention of ASAN/UBSAN are
run better in other tests anyway, as debugging C code run via Python
scripts can get a bit hairy.

In fact, it is not even just `git-p4` that is the problem (even if it
flakes often enough to be problematic in the CI builds), but really the
part about Python scripts. So let's just skip any Python parts of the
tests from being run in that job.

For good measure, also skip the Subversion tests because debugging C
code run via Perl scripts is as much fun as debugging C code run via
Python scripts. And it will reduce the time this very expensive job
takes, which is a big benefit.

Backported to `maint-2.39` as another step to get that branch's CI
builds back to a healthy state.

Backported-from: 6ba913629f (ci(linux-asan-ubsan): let's save some time, 2023-08-29)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2024-04-16 23:58:04 +02:00
..
config ci/config: correct instruction for CI preferences 2020-05-18 10:18:34 -07:00
util travis-ci: include the trash directories of failed tests in the trace log 2018-08-01 09:59:36 -07:00
check-directional-formatting.bash ci: disallow directional formatting 2021-11-04 10:13:10 -07:00
install-dependencies.sh Merge branch 'ab/ci-use-macos-12' 2022-12-10 14:01:06 +09:00
install-docker-dependencies.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
lib.sh ci(linux-asan/linux-ubsan): let's save some time 2024-04-16 23:58:04 +02:00
make-test-artifacts.sh ci(github): use grouping also in the win-build job 2022-06-13 09:58:41 -07:00
mount-fileshare.sh Add a build definition for Azure DevOps 2019-01-29 09:26:46 -08:00
print-test-failures.sh CI: remove Travis CI support 2021-11-23 16:51:53 -08:00
run-build-and-tests.sh Merge branch 'js/ci-github-workflow-markup' 2022-06-07 14:10:57 -07:00
run-docker-build.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-docker.sh CI: rename the "Linux32" job to lower-case "linux32" 2021-11-23 16:51:53 -08:00
run-static-analysis.sh i18n CI: stop allowing non-ASCII source messages in po/git.pot 2022-05-26 10:30:28 -07:00
run-test-slice.sh ci/run-build-and-tests: add some structure to the GitHub workflow output 2022-05-21 16:25:56 -07:00
test-documentation.sh ci: ignore rubygems warning in the "Documentation" job 2020-02-10 09:52:27 -08:00