Clarify limit of one release yaml file
[releng/global-jjb.git] / shell / release-job.sh
index 0ada461..fd43d75 100644 (file)
@@ -51,7 +51,7 @@ tag(){
     echo "git tag -v $VERSION"
     git tag -v "$VERSION"
     ########## Merge Part ##############
-    if [[ "$JOB_NAME" =~ "merge" ]]; then
+    if [[ "$JOB_NAME" =~ "merge" ]] && [[ "$DRY_RUN" = false ]]; then
       echo "--> INFO: Running merge"
       gerrit_ssh=$(echo "$GERRIT_URL" | awk -F"/" '{print $3}')
       git remote set-url origin ssh://"$RELEASE_USERNAME"@"$gerrit_ssh":29418/"$PROJECT"
@@ -75,11 +75,17 @@ nexus_release(){
     lftools nexus release -v --server https://"$NEXUS_URL" "$STAGING_REPO"
     echo "Merge will run"
     echo "lftools nexus release --server https://$NEXUS_URL $STAGING_REPO"
-    if [[ "$JOB_NAME" =~ "merge" ]]; then
+  done
+
+  #Run the loop twice, to catch errors on either nexus repo
+  if [[ "$JOB_NAME" =~ "merge" ]] && [[ "$DRY_RUN" = false ]]; then
+    for staging_url in $(zcat "$PATCH_DIR"/staging-repo.txt.gz | awk -e '{print $2}'); do
+      NEXUS_URL=$(echo "$staging_url" | sed -e 's|^[^/]*//||' -e 's|/.*$||')
+      STAGING_REPO=${staging_url#*repositories/}
       echo "Promoting $STAGING_REPO on $NEXUS_URL."
       lftools nexus release --server https://"$NEXUS_URL" "$STAGING_REPO"
-    fi
-  done
+    done
+  fi
 }
 
 
@@ -112,8 +118,8 @@ container_release_file(){
       echo "docker tag $container_image_id $DOCKER_REGISTRY:10002/$lfn_umbrella/$name:$VERSION"
       echo "docker push $DOCKER_REGISTRY:10002/$lfn_umbrella/$name:$VERSION"
       if [[ "$JOB_NAME" =~ "merge" ]]; then
-      docker tag "$container_image_id" "$DOCKER_REGISTRY":10002/"$lfn_umbrella"/"$name":"$VERSION"
-      docker push "$DOCKER_REGISTRY":10002/"$lfn_umbrella"/"$name":"$VERSION"
+        docker tag "$container_image_id" "$DOCKER_REGISTRY":10002/"$lfn_umbrella"/"$name":"$VERSION"
+        docker push "$DOCKER_REGISTRY":10002/"$lfn_umbrella"/"$name":"$VERSION"
       fi
       echo "#########################"
     fi
@@ -151,8 +157,7 @@ if [ "${LOGS_SERVER}" == 'None' ]; then
     exit 1
 fi
 
-RELEASE_FILE="${RELEASE_FILE:-True}"
-if [[ "$RELEASE_FILE" == "True" ]]; then
+if $USE_RELEASE_FILE ; then
 
   release_files=$(git diff-tree --no-commit-id -r "$GERRIT_PATCHSET_REVISION" --name-only -- "releases/" ".releases/")
   if (( $(grep -c . <<<"$release_files") > 1 )); then
@@ -165,7 +170,7 @@ if [[ "$RELEASE_FILE" == "True" ]]; then
   fi
 
 else
-  echo "This is job is built with parameters, no release file needed"
+  echo "This job is built with parameters, no release file needed. Continuing..."
   release_file="None"
 fi
 
@@ -211,7 +216,7 @@ echo "DISTRIBUTION_TYPE: $DISTRIBUTION_TYPE"
 if [[ "$DISTRIBUTION_TYPE" == "maven" ]]; then
   wget -q https://raw.githubusercontent.com/lfit/releng-global-jjb/master/schema/release-schema.yaml
   RELEASE_SCHEMA="release-schema.yaml"
-  if [[ "$RELEASE_FILE" == "True" ]]; then
+  if $USE_RELEASE_FILE ; then
     verify_schema
   fi
   maven_release_file