From e21ea224bdf299014fd6556dcbb84d9ba3872e48 Mon Sep 17 00:00:00 2001 From: Jean-Laurent DUZANT <jean-laurent.duzant@xelians.fr> Date: Thu, 24 Aug 2023 11:45:16 +0200 Subject: [PATCH] =?UTF-8?q?FIX=20#26354=20TIME=200:10=20fix=20tag=20script?= =?UTF-8?q?=20using=20the=20correction=20from=20[25448]=20CI=20-=20Pr?= =?UTF-8?q?=C3=A9voir=20la=20maj=20de=20la=20prochaine=20version=20dans=20?= =?UTF-8?q?new=5Fminor=5Ftag.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci/check_releases.sh | 51 +++++++++++++++++++++++--------------------- ci/new_minor_tag.sh | 2 ++ 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/ci/check_releases.sh b/ci/check_releases.sh index de25ed15f4..48e1ae931b 100644 --- a/ci/check_releases.sh +++ b/ci/check_releases.sh @@ -3,7 +3,7 @@ TAG_BASE="2301" EXIST=0 for row in $(curl --header "PRIVATE-TOKEN: $TOKEN_GITLAB" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/branches?search=2301_releases" | jq -r '.[] | @base64'); do _jq() { - echo ${row} | base64 --decode | jq -r ${1} + echo "${row}" | base64 --decode | jq -r "${1}" } EXIST=$((EXIST + 1)) done @@ -12,28 +12,18 @@ if [ $EXIST == 1 ] then echo "2301_releases already exist, skipping ..." else - echo "2301_releases branch does not exist, creating ..." - - # Create 2301_releases branche - echo "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/branches?branch=2301_releases&ref=main" - - curl --request POST --header "PRIVATE-TOKEN: $TOKEN_GITLAB" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/branches?branch=2301_releases&ref=main" - - # Create 2301_releases mr - BODY="{\"id\":\"$CI_PROJECT_ID\",\"source_branch\":\"2301_releases\",\"target_branch\":\"main\",\"title\":\"Next tag release\",\"description\":\"\",\"remove_source_branch\":\"true\",\"squash\":\"false\"}" - - curl -v -H "PRIVATE-TOKEN: $TOKEN_GITLAB" -H "Content-Type: application/json" -X POST -d "$BODY" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/merge_requests" + echo "Fetch all tags..." FIRST_TAG=0 for row in $(curl --header "PRIVATE-TOKEN: $TOKEN_GITLAB" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/tags?search=^$TAG_BASE" | jq -r '.[] | @base64'); do _jq() { - echo ${row} | base64 --decode | jq -r ${1} + echo "${row}" | base64 --decode | jq -r "${1}" } NAME=$(_jq '.name') - IS_TMA=$(echo $NAME | grep -o '[.]*_TMA[.]*') + IS_TMA=$(echo "$NAME" | grep -o '[.]*_TMA[.]*') if [[ -n $IS_TMA ]]; then echo "TMA tag branch : $NAME ! Skipping..." @@ -50,10 +40,10 @@ else NEXT_TAG="$TAG_BASE.0.0" NEXT_NEXT_TAG="$TAG_BASE.0.1" else - SORTED_TAGS=($(echo ${TAGS[*]} | tr " " "\n" | sort -Vr)) - LATEST_TAG=$(echo ${SORTED_TAGS[0]}) + SORTED_TAGS=($(echo "${TAGS[*]}" | tr " " "\n" | sort -Vr)) + LATEST_TAG=$(echo "${SORTED_TAGS[0]}") - structures=$(echo $LATEST_TAG | tr "." "\n") + structures=$(echo "$LATEST_TAG" | tr "." "\n") IT=1 for item in $structures; do @@ -78,25 +68,38 @@ else NEXT_TAG="$BRANCH_TAG_VERSION.$MAJOR_TAG_VERSION.$VERSION" NEXT_NEXT_TAG="$BRANCH_TAG_VERSION.$MAJOR_TAG_VERSION.$VERSION" fi + + echo "2301_releases branch does not exist, creating ..." + + # Create 2301_releases branche + echo "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/branches?branch=2301_releases&ref=main" + + curl --request POST --header "PRIVATE-TOKEN: $TOKEN_GITLAB" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/repository/branches?branch=2301_releases&ref=main" + + # Create 2301_releases mr + BODY="{\"id\":\"$CI_PROJECT_ID\",\"source_branch\":\"2301_releases\",\"target_branch\":\"main\",\"title\":\"Next tag release\",\"description\":\"\",\"remove_source_branch\":\"true\",\"squash\":\"false\"}" + + curl -v -H "PRIVATE-TOKEN: $TOKEN_GITLAB" -H "Content-Type: application/json" -X POST -d "$BODY" "https://labs.maarch.org/api/v4/projects/$CI_PROJECT_ID/merge_requests" + # Update files version git config --global user.email "$GITLAB_USER_EMAIL" && git config --global user.name "$GITLAB_USER_NAME" && git config core.fileMode false - git remote set-url origin "https://gitlab-ci-token:${TOKEN_GITLAB}@${GITLAB_URL}/${CI_PROJECT_PATH}.git" - git fetch git branch -D $TAG_BASE"_releases" git pull origin $TAG_BASE"_releases" git checkout $TAG_BASE"_releases" - cp package.json tmp_package.json - jq -r ".version |= \"$NEXT_NEXT_TAG\"" tmp_package.json >package.json + # Update app version + cp package.json tmp_package.json + cp package-lock.json tmp_package-lock.json - rm tmp_package.json + jq ".version = \"$NEXT_NEXT_TAG\"" tmp_package.json > package.json + jq ".version = \"$NEXT_NEXT_TAG\"" tmp_package-lock.json > package-lock.json - git add -f package.json + rm tmp_package.json tmp_package-lock.json + git add -f package.json package-lock.json git commit -m "Update next tag version files : $NEXT_NEXT_TAG" - git push fi diff --git a/ci/new_minor_tag.sh b/ci/new_minor_tag.sh index 2b038a5678..f367e04616 100644 --- a/ci/new_minor_tag.sh +++ b/ci/new_minor_tag.sh @@ -158,6 +158,8 @@ if [ $FIRST_TAG == 0 ]; then git pull origin $RELEASE_BRANCH git checkout $RELEASE_BRANCH + touch $FINAL_LOG + TAGS_COMP="$LATEST_TAG..$NEXT_TAG" REF_UPDATED=$(git log $TAGS_COMP --pretty=format:'%s' --grep='Update referential' --all-match) -- GitLab