From 45cf9adbdd6098e4a9429fd16ade8bb5c6bf3f19 Mon Sep 17 00:00:00 2001 From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org> Date: Tue, 12 Nov 2024 18:29:29 +0100 Subject: [PATCH] Fix for checking conflicts when milestone is absent in the merge request --- checking_conflicts.sh | 6 +++++- generateChangemarks/.gitlab-ci.yml | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/checking_conflicts.sh b/checking_conflicts.sh index b0cf26c..bfad7a5 100644 --- a/checking_conflicts.sh +++ b/checking_conflicts.sh @@ -54,7 +54,11 @@ echo "\n------ Getting all potential conflicting merge requests --------" # Initialize an empty array to store conflicting merge requests conflicting_merge_request_ids=() -merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&milestone=${3}&target_branch=${4}") +if [ ${3} == "all" ] ; then + merge_requests=$(curl "${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}") +fi echo "${merge_requests}" | jq -c '.[]' | while read mr; do mr_id=$(echo "$mr" | jq '.iid') result_id=$? diff --git a/generateChangemarks/.gitlab-ci.yml b/generateChangemarks/.gitlab-ci.yml index b9bdd90..6f993d5 100644 --- a/generateChangemarks/.gitlab-ci.yml +++ b/generateChangemarks/.gitlab-ci.yml @@ -24,8 +24,14 @@ stages: Checking conflicts: stage: checking rules: - - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_MILESTONE + when: always + variables: + MERGE_REQUEST_MILESTONE: $CI_MERGE_REQUEST_MILESTONE + - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_MILESTONE == null when: always + variables: + MERGE_REQUEST_MILESTONE: "all" allow_failure: true image: python:3.9.18-slim-bullseye tags: @@ -39,7 +45,7 @@ Checking conflicts: - git clone "https://$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} ${CI_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 $MIKE_ACCESS_TOKEN artifacts: when: on_failure paths: -- GitLab