Subject: Re: Clarification on GPG preference update prompts during Git test suite execution

From: Junio C Hamano <[email-masked]>
Date: Wed, 04 Jun 2025 09:20:28 -0700

Chris Torek <[email-masked]> writes:

> On Wed, Jun 4, 2025 at 2:39 AM Haritha D <[email-masked]> wrote:
>> I noticed that the ci/run-build-and-tests.sh script in the Git repo does not seem to explicitly handle this scenario (e.g., no --batch, --yes, or other flags related to GPG). I’m curious—how does Git's CI/CD pipeline avoid or suppress these GPG interactive prompts during test execution?
>
> GPG does not go through Git. GPG uses the "grab hold of the user who's
> watching this and ask a question" interface provided by the operating
> system. CI systems disable this interface (or do their best to attempt
> to do so) since there is no user watching.
>
> Since Git is not involved here, Git has no control over this. You need
> to deal with this at the GPG level (or use the same tricks that CI
> systems use, but those are considerably more complex, and
> OS-dependent).

We do redirect our stdin to read from /dev/null but that is the
extent we attempt to go non-interactive while running the tests,
which, as you said, is insufficient to defeat applications opening
up /dev/tty or going GUI.