From bc02d62e3995ce27e1ec3617c0e638936b4c624d Mon Sep 17 00:00:00 2001 From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org> Date: Wed, 13 Nov 2024 21:27:21 +0100 Subject: [PATCH] Adding more details to the conflict log file --- checking_conflicts.sh | 12 ++++++++++-- generateChangemarks/.gitlab-ci.yml | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/checking_conflicts.sh b/checking_conflicts.sh index bfad7a5..1d584a1 100644 --- a/checking_conflicts.sh +++ b/checking_conflicts.sh @@ -55,9 +55,9 @@ echo "\n------ Getting all potential conflicting merge requests --------" # Initialize an empty array to store conflicting merge requests conflicting_merge_request_ids=() if [ ${3} == "all" ] ; then - merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&target_branch=${4}") + merge_requests=$(curl --header "PRIVATE-TOKEN: ${10}" "${1}/projects/${2}/merge_requests?state=opened&target_branch=${4}") else - merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&milestone=${3}&target_branch=${4}") + merge_requests=$(curl --header "PRIVATE-TOKEN: ${10}" "${1}/projects/${2}/merge_requests?state=opened&milestone=${3}&target_branch=${4}") fi echo "${merge_requests}" | jq -c '.[]' | while read mr; do mr_id=$(echo "$mr" | jq '.iid') @@ -86,6 +86,14 @@ echo "${merge_requests}" | jq -c '.[]' | while read mr; do result=$? if [ ! $result == 0 ] ; then echo "Merge request title: ${mr_title}, Merge Request ID: ${mr_id}" >> conflicting_merge_requests.txt + spec=$(git diff --name-only --diff-filter=U | grep -E "(TS|TR)") + sed -n ' + /^<<<<<<< /,/^>>>>>>> / { + /^<<<<<<<\|^>>>>>>>/!{=;p} + /^>>>>>>> /a\ + + } + ' ${spec} >> conflicting_merge_requests.txt conflicting_merge_request_ids+=("${mr_id}") # Setting label to the merge request which is conflicting with echo "Setting label to the merge request which is conflicting with: ${mr_id}" diff --git a/generateChangemarks/.gitlab-ci.yml b/generateChangemarks/.gitlab-ci.yml index 6f993d5..a64b5a2 100644 --- a/generateChangemarks/.gitlab-ci.yml +++ b/generateChangemarks/.gitlab-ci.yml @@ -40,12 +40,12 @@ Checking conflicts: # Installation of required software - apt-get update -qq && apt-get -qq install -y git curl jq > /dev/null - | - curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/checking_conflicts%2Esh/raw?ref=master" >> checking_conflicts.sh + curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/checking_conflicts%2Esh/raw?ref=detailsConflicts" >> checking_conflicts.sh - chmod +x checking_conflicts.sh - - git clone "https://$CI_SERVER_HOST/$CI_PROJECT_PATH.git" ${CI_PROJECT_NAME} + - git clone "https://oauth2:${PIPELINE_ACCESS_TOKEN}@$CI_SERVER_HOST/$CI_PROJECT_PATH.git" ${CI_PROJECT_NAME} script: - echo 'Checking conflicts' - - ./checking_conflicts.sh ${CI_API_V4_URL} ${CI_MERGE_REQUEST_PROJECT_ID} ${MERGE_REQUEST_MILESTONE} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} ${CI_MERGE_REQUEST_IID} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} ${CI_PROJECT_NAME} "$GITLAB_USER_NAME" $GITLAB_USER_EMAIL $MIKE_ACCESS_TOKEN + - ./checking_conflicts.sh ${CI_API_V4_URL} ${CI_MERGE_REQUEST_PROJECT_ID} ${MERGE_REQUEST_MILESTONE} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} ${CI_MERGE_REQUEST_IID} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} ${CI_PROJECT_NAME} "$GITLAB_USER_NAME" $GITLAB_USER_EMAIL $PIPELINE_ACCESS_TOKEN artifacts: when: on_failure paths: -- GitLab