diff --git a/ci/check_releases.sh b/ci/check_releases.sh index de25ed15f4b5c29f232865a490c57f6c1bfd2b4c..48e1ae931b9c3746a03fe15f7931a7449ef91df1 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 2b038a5678fdd239918b634de3e5d6c69ebb0108..f367e0461665976a01996a2a20e833cc37b936d5 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)