Subject: Re: [PATCH] ci(linux-asan-ubsan): let's save some time

From: Junio C Hamano <[email-masked]>
Date: Tue, 29 Aug 2023 09:49:12 -0700

"Johannes Schindelin via GitGitGadget" <[email-masked]>
writes:

> 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-ubsan` job it
> hurts the most because that job often takes over a full hour to run,
> therefore re-running a failed `linux-asan-ubsan` job is _very_ costly.
> ...
> 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.

Makes sense to me.

> diff --git a/ci/lib.sh b/ci/lib.sh
> index 369d462f130..8e4e6713344 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -280,6 +280,8 @@ linux-leaks)
>  	;;
>  linux-asan-ubsan)
>  	export SANITIZE=address,undefined
> +	export NO_SVN_TESTS=LetsSaveSomeTimeBack
> +	MAKEFLAGS="$MAKEFLAGS NO_PYTHON=YepItFlakesTooOften"
>  	;;
>  esac

Hmph, we do not have NO_P4_TESTS to match, which lead to the
apparent inconsistency that is a bit of shame, but I think blanket
exclusion of Python is OK because we are very unlikely to add new
Python dependencies.  s/ItFlakes/P4Flakes/ might be a good protection
against Python enthusiasts complaining, though ;-)

Thanks, will queue.