Message ID | 20250225110525.2209854-1-berrange@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | gitlab: use --refetch in check-patch/check-dco jobs | expand |
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
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"],
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(-)