From: Junio C Hamano <gitster@pobox.com>
To: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH] ci(dockerized): reduce the PID limit for private repositories
Date: Wed, 01 Jul 2026 09:54:59 -0700 [thread overview]
Message-ID: <xmqq5x2yps4c.fsf@gitster.g> (raw)
In-Reply-To: <pull.2164.git.1782889484346.gitgitgadget@gmail.com> (Johannes Schindelin via GitGitGadget's message of "Wed, 01 Jul 2026 07:04:43 +0000")
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
writes:
> The underlying reason seems to be a substantial difference in the hosted
> runners that execute these Dockerized jobs: forcing the PID limit of the
> container to a high number lets the jobs pass, even when running the
> complete matrix of all 13 Dockerized jobs concurrently.
Is the "reduce" in the title accurate? The above description tells
me that what you did was to "raise" the PID limit (i.e., forcing the
PID limit to a high number), presumably because the default PID
limit is way too low for the tests to pass?
And that fix turns constant failures into success (albeit the tests
run very slowly, which is a separate topic that you discuss next).
> But that's not
> the only difference: The jobs seem to take a lot longer in these
> containers than, say, in the containers made available to
> https://github.com/git/git.
>
> When forcing a PID limit of 64k in that private repository, the jobs
> completed successfully, but they also took a lot longer, between 2x to
> 2.5x longer, i.e. painfully much longer. Reducing the PID limit to 16k,
> the CI jobs still passed, but took an equally long amount of time.
> Reducing the PID limit to 8k caused the errors to reappear.
> ...
> It does not look as if the PID limit is the reason for the longer
> runtime, seeing as the 64k vs 16k timings deviate no more than as is
> usual with GitHub workflows. So let's go for 16k.
So 8k is too low to make them pass, just like the default setting
(whatever it is), but 16k is sufficient, so this patch settles at
that number, which makes sense.
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index cf341d74db..85cfedf5b0 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -420,7 +420,9 @@ jobs:
> CI_JOB_IMAGE: ${{matrix.vector.image}}
> CUSTOM_PATH: /custom
> runs-on: ubuntu-latest
> - container: ${{matrix.vector.image}}
> + container:
> + image: ${{ matrix.vector.image }}
> + options: ${{ github.repository_visibility == 'private' && '--pids-limit 16384 --ulimit nproc=16384:16384 --ulimit nofile=32768:32768' || '' }}
> steps:
> - name: prepare libc6 for actions
> if: matrix.vector.jobname == 'linux32'
>
> base-commit: e9019fcafe0040228b8631c30f97ae1adb61bcdc
next prev parent reply other threads:[~2026-07-01 16:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 7:04 [PATCH] ci(dockerized): reduce the PID limit for private repositories Johannes Schindelin via GitGitGadget
2026-07-01 16:54 ` Junio C Hamano [this message]
2026-07-04 8:46 ` Johannes Schindelin
2026-07-04 8:52 ` [PATCH v2] ci(dockerized): raise " Johannes Schindelin via GitGitGadget
2026-07-05 5:28 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq5x2yps4c.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.