* [PATCH] gitlab: use --refetch in check-patch/check-dco jobs
@ 2025-02-25 11:05 Daniel P. Berrangé
2025-02-25 12:20 ` Michael S. Tsirkin
2025-02-28 15:36 ` Alex Bennée
0 siblings, 2 replies; 3+ messages in thread
From: Daniel P. Berrangé @ 2025-02-25 11:05 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Thomas Huth, Alex Bennée,
Michael S. Tsirkin, Daniel P. Berrangé
When gitlab initializes the repo checkout for a CI job, it will have
done a shallow clone with only partial history. Periodically the objects
that are omitted cause trouble with the check-patch/check-dco jobs. This
is exhibited as reporting strange errors being unable to fetch certain
objects that are known to exist.
Passing the --refetch flag to 'git fetch' causes it to not assume the
local checkout has all common objects and thus re-fetch everything that
is needed. This appears to solve the check-patch/check-dco job failures.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
.gitlab-ci.d/check-dco.py | 2 +-
.gitlab-ci.d/check-patch.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/check-dco.py b/.gitlab-ci.d/check-dco.py
index 70dec7d6ee..2fd56683dc 100755
--- a/.gitlab-ci.d/check-dco.py
+++ b/.gitlab-ci.d/check-dco.py
@@ -21,7 +21,7 @@
print(f"adding upstream git repo @ {repourl}")
subprocess.check_call(["git", "remote", "add", "check-dco", repourl])
-subprocess.check_call(["git", "fetch", "check-dco", "master"])
+subprocess.check_call(["git", "fetch", "--refetch", "check-dco", "master"])
ancestor = subprocess.check_output(["git", "merge-base",
"check-dco/master", "HEAD"],
diff --git a/.gitlab-ci.d/check-patch.py b/.gitlab-ci.d/check-patch.py
index 68c549a146..be13e6f77d 100755
--- a/.gitlab-ci.d/check-patch.py
+++ b/.gitlab-ci.d/check-patch.py
@@ -24,7 +24,7 @@
# base for the user's branch. We thus need to figure out a common
# ancestor between the user's branch and current git master.
subprocess.check_call(["git", "remote", "add", "check-patch", repourl])
-subprocess.check_call(["git", "fetch", "check-patch", "master"])
+subprocess.check_call(["git", "fetch", "--refetch", "check-patch", "master"])
ancestor = subprocess.check_output(["git", "merge-base",
"check-patch/master", "HEAD"],
--
2.47.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] gitlab: use --refetch in check-patch/check-dco jobs
2025-02-25 11:05 [PATCH] gitlab: use --refetch in check-patch/check-dco jobs Daniel P. Berrangé
@ 2025-02-25 12:20 ` Michael S. Tsirkin
2025-02-28 15:36 ` Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Michael S. Tsirkin @ 2025-02-25 12:20 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Philippe Mathieu-Daudé, Thomas Huth,
Alex Bennée
On Tue, Feb 25, 2025 at 11:05:25AM +0000, Daniel P. Berrangé wrote:
> When gitlab initializes the repo checkout for a CI job, it will have
> done a shallow clone with only partial history. Periodically the objects
> that are omitted cause trouble with the check-patch/check-dco jobs. This
> is exhibited as reporting strange errors being unable to fetch certain
> objects that are known to exist.
>
> Passing the --refetch flag to 'git fetch' causes it to not assume the
> local checkout has all common objects and thus re-fetch everything that
> is needed. This appears to solve the check-patch/check-dco job failures.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Thanks!
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> .gitlab-ci.d/check-dco.py | 2 +-
> .gitlab-ci.d/check-patch.py | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/.gitlab-ci.d/check-dco.py b/.gitlab-ci.d/check-dco.py
> index 70dec7d6ee..2fd56683dc 100755
> --- a/.gitlab-ci.d/check-dco.py
> +++ b/.gitlab-ci.d/check-dco.py
> @@ -21,7 +21,7 @@
>
> print(f"adding upstream git repo @ {repourl}")
> subprocess.check_call(["git", "remote", "add", "check-dco", repourl])
> -subprocess.check_call(["git", "fetch", "check-dco", "master"])
> +subprocess.check_call(["git", "fetch", "--refetch", "check-dco", "master"])
>
> ancestor = subprocess.check_output(["git", "merge-base",
> "check-dco/master", "HEAD"],
> diff --git a/.gitlab-ci.d/check-patch.py b/.gitlab-ci.d/check-patch.py
> index 68c549a146..be13e6f77d 100755
> --- a/.gitlab-ci.d/check-patch.py
> +++ b/.gitlab-ci.d/check-patch.py
> @@ -24,7 +24,7 @@
> # base for the user's branch. We thus need to figure out a common
> # ancestor between the user's branch and current git master.
> subprocess.check_call(["git", "remote", "add", "check-patch", repourl])
> -subprocess.check_call(["git", "fetch", "check-patch", "master"])
> +subprocess.check_call(["git", "fetch", "--refetch", "check-patch", "master"])
>
> ancestor = subprocess.check_output(["git", "merge-base",
> "check-patch/master", "HEAD"],
> --
> 2.47.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gitlab: use --refetch in check-patch/check-dco jobs
2025-02-25 11:05 [PATCH] gitlab: use --refetch in check-patch/check-dco jobs Daniel P. Berrangé
2025-02-25 12:20 ` Michael S. Tsirkin
@ 2025-02-28 15:36 ` Alex Bennée
1 sibling, 0 replies; 3+ messages in thread
From: Alex Bennée @ 2025-02-28 15:36 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Philippe Mathieu-Daudé, Thomas Huth,
Michael S. Tsirkin
Daniel P. Berrangé <berrange@redhat.com> writes:
> When gitlab initializes the repo checkout for a CI job, it will have
> done a shallow clone with only partial history. Periodically the objects
> that are omitted cause trouble with the check-patch/check-dco jobs. This
> is exhibited as reporting strange errors being unable to fetch certain
> objects that are known to exist.
>
> Passing the --refetch flag to 'git fetch' causes it to not assume the
> local checkout has all common objects and thus re-fetch everything that
> is needed. This appears to solve the check-patch/check-dco job failures.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Queued to maintainer/for-10.0-softfreeze, thanks.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-02-28 15:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-25 11:05 [PATCH] gitlab: use --refetch in check-patch/check-dco jobs Daniel P. Berrangé
2025-02-25 12:20 ` Michael S. Tsirkin
2025-02-28 15:36 ` Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).