Commit 6928467a authored by Adrian DC's avatar Adrian DC
Browse files

ci(gitlab-ci): fix 'commits' job for non-default branches pipelines

Signed-off-by: default avatarAdrian DC <radian.dc@gmail.com>
parent c521c8a6
Loading
Loading
Loading
Loading
Loading
+14 −16
Changes for .gitlab-ci.yml: 14 added lines, 16 removed lines.
Original line number Diff line number Diff line
@@ -210,38 +210,36 @@ commits:
      )
  script:
    # Detect commits range
    - set +x
    - remote=$(git remote -v | grep '(fetch)' | awk '{print $1}' | head -n1)
    - none_sha='0000000000000000000000000000000000000000'
    - head_sha=$(git rev-parse "${CI_COMMIT_SHA:-HEAD}")
    - |
      if [ ! -z "${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-}" ]; then
        git fetch "${remote}" "${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}" >/dev/null 2>&1 || true
        base_sha=$(git rev-parse "${remote}/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}")
        base_branch=$(git rev-parse --abbrev-ref "${remote}/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}")
      elif [ ! -z "${CI_DEFAULT_BRANCH:-}" ]; then
        base_sha=$(git rev-parse "${remote}/${CI_DEFAULT_BRANCH}")
        base_branch=$(git rev-parse --abbrev-ref "${remote}/${CI_DEFAULT_BRANCH}")
      else
      elif [ ! -z "${CI_LOCAL:-}" ]; then
        base_sha=$(git rev-parse "${remote}/HEAD")
        base_branch=$(git rev-parse --abbrev-ref "${remote}/HEAD")
      fi
    - head_sha="${CI_COMMIT_SHA:-HEAD}"
    - |
      none_sha='0000000000000000000000000000000000000000'
      before_sha="${CI_COMMIT_BEFORE_SHA:-${none_sha}}"
      if [ "${base_sha}" = "${head_sha}" ] && [ ! "${before_sha}" = "${none_sha}" ] && git cat-file -e "${before_sha}" 2>/dev/null; then
        base_sha="${before_sha}"
      elif [ ! "${CI_COMMIT_BEFORE_SHA:-${none_sha}}" = "${none_sha}" ] && git cat-file -e "${CI_COMMIT_BEFORE_SHA}" 2>/dev/null; then
        base_sha="${CI_COMMIT_BEFORE_SHA}"
        base_branch="${CI_COMMIT_REF_NAME:-}"
      else
        base_sha=$(git rev-parse 'HEAD^')
        base_branch=$(git rev-parse --abbrev-ref 'HEAD')
      fi
    # Validate commits range
    - |
      set +x
      echo ' '
      echo '---'
      echo -e "\033[0m\033[1mINFO: Commitizen checks from \033[1;33m'${base_branch}' \033[0m\033[1m(\033[1;36m${base_sha}\033[0m\033[1m) to \033[1;36m'${head_sha}'\033[0m"
      echo -e "\033[0m\033[1mINFO: Commitizen checks from \033[1m'\033[1;36m${base_sha:0:8}\033[0m\033[1m' (\033[1;33m${base_branch}\033[0m\033[1m) to '\033[1;36m${head_sha:0:8}\033[0m\033[1m' (\033[1;33mHEAD\033[0m\033[1m)\033[0m"
      echo ' '
      git log --pretty=oneline --abbrev-commit "${base_sha}^..${head_sha}" | sed "s#^\([^ ]*\) #$(printf '\033[1;33m')\1$(printf '\033[0m') #g"
      git log --pretty=oneline --abbrev-commit "${base_sha}..${head_sha}" | sed "s#^\([^ ]*\) #$(printf '\033[1;33m')\1$(printf '\033[0m') #g"
      echo ' '
      set -x
      git cz check --rev-range "${base_sha}^..${head_sha}"
  rules:
    - when: on_success
      git cz --no-raise 3 check --rev-range "${base_sha}..${head_sha}"

lint:
  stage: prepare