diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fdb4174ddb..a67d45ec4c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,6 +52,8 @@ ghc-linters: stage: lint image: "registry.gitlab.haskell.org/ghc/ci-images/linters:$DOCKER_REV" script: + # Note [Unshallow clone for linting] + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # GitLab creates a shallow clone which means that we may not have the base # commit of the MR being tested (e.g. if the MR is quite old), causing `git # merge-base` to fail. Passing `--unshallow` to `git fetch` ensures that @@ -78,6 +80,10 @@ ghc-linters: stage: lint image: "registry.gitlab.haskell.org/ghc/ci-images/linters:$DOCKER_REV" script: + # See Note [Unshallow clone for linting] + - git fetch --unshallow "$CI_MERGE_REQUEST_PROJECT_URL" $CI_MERGE_REQUEST_TARGET_BRANCH_NAME + - base="$(git merge-base FETCH_HEAD $CI_COMMIT_SHA)" + - "echo Linting changes between $base..$CI_COMMIT_SHA" - submodchecker .git $(git rev-list $base..$CI_COMMIT_SHA) dependencies: [] tags: |