diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index be44c7e..754af7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,41 +76,35 @@ sonarcloud_scan: perform_release: stage: release - script: - - cd ${GITLAB_CLONE_DIR} - - git config --global user.name "${GITLAB_USERNAME}" - - git config --global user.email "${GITLAB_USEREMAIL}" - - # config git auth - - git remote set-url origin "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/${CI_PROJECT_PATH}.git" - - # build versions ... - - CURRENT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) - - RELEASE_VERSION=$(echo $CURRENT_VERSION | sed 's/-SNAPSHOT//') - - MINOR_VERSION=$(echo $RELEASE_VERSION | awk -F. '{print $2}') - - NEXT_MINOR_VERSION=$((MINOR_VERSION + 1)) - - NEXT_VERSION=$(echo $RELEASE_VERSION | awk -F. -v minor="$NEXT_MINOR_VERSION" '{print $1"."minor".0-SNAPSHOT"}') + script: | + cd ${GITLAB_CLONE_DIR} + git config --global user.name "${GITLAB_USERNAME}" + git config --global user.email "${GITLAB_USEREMAIL}" + git remote set-url origin "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/${CI_PROJECT_PATH}.git" - - echo "current version: $CURRENT_VERSION" - - echo "release version: $RELEASE_VERSION" - - echo "next version: $NEXT_VERSION" - - # process maven release ... - - > - mvn release:clean release:prepare release:perform - -B - -DreleaseVersion=$RELEASE_VERSION - -DdevelopmentVersion=$NEXT_VERSION - -Darguments="-DskipTests" - -DscmCommentPrefix="[ci skip] " + CURRENT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) + RELEASE_VERSION=$(echo $CURRENT_VERSION | sed 's/-SNAPSHOT//') + MINOR_VERSION=$(echo $RELEASE_VERSION | awk -F. '{print $2}') + NEXT_MINOR_VERSION=$((MINOR_VERSION + 1)) + NEXT_VERSION=$(echo $RELEASE_VERSION | awk -F. -v minor="$NEXT_MINOR_VERSION" '{print $1"."minor".0-SNAPSHOT"}') + + echo "current version: $CURRENT_VERSION" + echo "release version: $RELEASE_VERSION" + echo "next version: $NEXT_VERSION" + + mvn release:clean release:prepare release:perform \ + -B \ + -DreleaseVersion=$RELEASE_VERSION \ + -DdevelopmentVersion=$NEXT_VERSION \ + -Darguments="-DskipTests" \ + -DscmCommentPrefix="[ci skip] " \ -DpreparationGoals="clean verify" - - # generate release - - > - curl --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" - --data "name=v${RELEASE_VERSION}" - --data "tag_name=v${RELEASE_VERSION}" - --data "description=Release v${RELEASE_VERSION} of CloudflareDNS-java" - "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/releases" + + curl --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" \ + --data "name=v${RELEASE_VERSION}" \ + --data "tag_name=v${RELEASE_VERSION}" \ + --data "description=Release v${RELEASE_VERSION} of CloudflareDNS-java" \ + "https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/releases" + only: - /^v\d+\.\d+\.\d+$/ \ No newline at end of file