All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gitlab-ci: fix "check" jobs with large merge requests
@ 2026-10-16 14:48 Patrick Steinhardt
  2026-10-16 17:15 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Patrick Steinhardt @ 2026-10-16 14:48 UTC (permalink / raw)
  To: git; +Cc: Karthik Nayak

The "check-whitespace" and "check-style" jobs verify that the changes
proposed by a merge request don't introduce whitespace errors or style
violations. To do so, both of them compare against the base commit of
the merge request.

But both GitHub and GitLab use shallow clones to set up the repository
in CI jobs by default. So if the base commit to compare against is
beyond the shallow boundary then these checks will fail. To avoid that
error we thus configure GitHub CI to disable shallow clones via
`fetch-depth: 0`. But we don't do the equivalent for GitLab, so we see
such errors whenever we have a merge request with more than 50 commits,
which is the configured shallowness for gitlab-org/git.

Fix these issues by setting GIT_DEPTH to 0 for both jobs so that we
always fetch the full history.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
Hi,

one more day, one more CI annoyance. The "check-whitespace" job is
somewhat broken for us in case we have MRs that have more than 50
commits. And while that's not something that happens for patch series
that we send upstream, it does happen for some of our internal
development branches.

See [1] for a pipeline run with these changes.

Thanks!

Patrick

[1]: https://gitlab.com/gitlab-org/git/-/merge_requests/703
---
 .gitlab-ci.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3f24835500..62737279d2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -256,6 +256,8 @@ check-whitespace:
   image: ubuntu:latest
   stage: analyze
   needs: [ ]
+  variables:
+    GIT_DEPTH: 0
   before_script:
     - ./ci/install-dependencies.sh
   # Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged
@@ -276,6 +278,7 @@ check-style:
   variables:
     CC: clang
     jobname: ClangFormat
+    GIT_DEPTH: 0
   before_script:
     - ./ci/install-dependencies.sh
   # Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged

---
base-commit: f57c9a73884400380bddd172acc88b569834f909
change-id: 20261016-pks-ci-optional-whitespace-job-ff1effc3fec7


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] gitlab-ci: fix "check" jobs with large merge requests
  2026-10-16 14:48 [PATCH] gitlab-ci: fix "check" jobs with large merge requests Patrick Steinhardt
@ 2026-10-16 17:15 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2026-10-16 17:15 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git, Karthik Nayak

Patrick Steinhardt <ps@pks.im> writes:

> The "check-whitespace" and "check-style" jobs verify that the changes
> proposed by a merge request don't introduce whitespace errors or style
> violations. To do so, both of them compare against the base commit of
> the merge request.
>
> But both GitHub and GitLab use shallow clones to set up the repository
> in CI jobs by default. So if the base commit to compare against is
> beyond the shallow boundary then these checks will fail. To avoid that
> error we thus configure GitHub CI to disable shallow clones via
> `fetch-depth: 0`. But we don't do the equivalent for GitLab, so we see
> such errors whenever we have a merge request with more than 50 commits,
> which is the configured shallowness for gitlab-org/git.
>
> Fix these issues by setting GIT_DEPTH to 0 for both jobs so that we
> always fetch the full history.

Hmph, that is annoying.  In theory, you only need to fetch from the
base that the patch series is designed to apply, but I guess that is
not a choice offered.

How much help are we really getting from these two jobs, by the way?
If we disabled them, would we suddenly start seeing uncontrollable
amount of crap patches full of whitespace breakages and style
violations?

Will queue, thanks.

>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> Hi,
>
> one more day, one more CI annoyance. The "check-whitespace" job is
> somewhat broken for us in case we have MRs that have more than 50
> commits. And while that's not something that happens for patch series
> that we send upstream, it does happen for some of our internal
> development branches.
>
> See [1] for a pipeline run with these changes.
>
> Thanks!
>
> Patrick
>
> [1]: https://gitlab.com/gitlab-org/git/-/merge_requests/703
> ---
>  .gitlab-ci.yml | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 3f24835500..62737279d2 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -256,6 +256,8 @@ check-whitespace:
>    image: ubuntu:latest
>    stage: analyze
>    needs: [ ]
> +  variables:
> +    GIT_DEPTH: 0
>    before_script:
>      - ./ci/install-dependencies.sh
>    # Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged
> @@ -276,6 +278,7 @@ check-style:
>    variables:
>      CC: clang
>      jobname: ClangFormat
> +    GIT_DEPTH: 0
>    before_script:
>      - ./ci/install-dependencies.sh
>    # Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged
>
> ---
> base-commit: f57c9a73884400380bddd172acc88b569834f909
> change-id: 20261016-pks-ci-optional-whitespace-job-ff1effc3fec7

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-16 17:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 14:48 [PATCH] gitlab-ci: fix "check" jobs with large merge requests Patrick Steinhardt
2026-10-16 17:15 ` Junio C Hamano

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.