Ensure the repository is not shallow before fetching branches in check-patch job. This prevents issues where git merge-base fails due to incomplete history. Set the timeout of check-patch job to 1h.
Signed-off-by: Vignesh Raman <[email protected]> --- drivers/gpu/drm/ci/check-patch.py | 16 ++++++++++++---- drivers/gpu/drm/ci/static-checks.yml | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/ci/check-patch.py b/drivers/gpu/drm/ci/check-patch.py index a5f399a20e25..b206f12feb64 100755 --- a/drivers/gpu/drm/ci/check-patch.py +++ b/drivers/gpu/drm/ci/check-patch.py @@ -18,12 +18,20 @@ repourl = "https://gitlab.freedesktop.org/%s.git" % os.environ["CI_MERGE_REQUEST # GitLab CI environment does not give us any direct info about the # base for the user's branch. We thus need to figure out a common # ancestor between the user's branch and current git master. -os.environ["GIT_DEPTH"] = "1000" subprocess.call(["git", "remote", "remove", "check-patch"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) subprocess.check_call(["git", "remote", "add", "check-patch", repourl]) -subprocess.check_call(["git", "fetch", "check-patch", os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"]], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL) + +# Check if the repository is shallow +shallow = subprocess.run(["git", "rev-parse", "--is-shallow-repository"], + stdout=subprocess.PIPE, universal_newlines=True).stdout.strip() + +if shallow == "true": + print("Repository is shallow, unshallow git history") + subprocess.check_call(["git", "fetch", "--unshallow", "check-patch", os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"]], + stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) +else: + subprocess.check_call(["git", "fetch", "check-patch", os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"]], + stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) ancestor = subprocess.check_output(["git", "merge-base", "check-patch/%s" % os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"], "HEAD"], diff --git a/drivers/gpu/drm/ci/static-checks.yml b/drivers/gpu/drm/ci/static-checks.yml index 13ffa827b7fa..734d6055fa65 100644 --- a/drivers/gpu/drm/ci/static-checks.yml +++ b/drivers/gpu/drm/ci/static-checks.yml @@ -1,4 +1,5 @@ check-patch: + timeout: "1h" extends: - .build - .use-debian/x86_64_build -- 2.47.2
