Fix release file detection
[releng/global-jjb.git] / shell / release-job.sh
index 5527688..afc19fc 100644 (file)
@@ -29,10 +29,12 @@ set_variables_common(){
     NEXUS_PATH="${SILO}/${JENKINS_HOSTNAME}/"
     # Verify if using release file or parameters
     if $USE_RELEASE_FILE ; then
-        release_files=$(git diff-tree -m --no-commit-id -r "$GIT_COMMIT" --name-only -- "releases/" ".releases/")
+        release_files=$(git diff-tree -m --no-commit-id -r "$GIT_COMMIT" "$GIT_COMMIT^1" \
+            --name-only -- "releases/" ".releases/")
         if (( $(grep -c . <<<"$release_files") > 1 )); then
           echo "INFO: RELEASE FILES ARE AS FOLLOWS: $release_files"
-          echo "ERROR: Committing multiple release files in the same commit OR rename/amend of existing files is not supported."
+          echo "ERROR: Adding multiple release files in the same commit"
+          echo "ERROR: OR rename/amend/delete of existing files is not supported."
           exit 1
         else
           release_file="$release_files"
@@ -313,8 +315,8 @@ container_release_file(){
     local lfn_umbrella
     lfn_umbrella="$(echo "$GERRIT_URL" | awk -F"." '{print $2}')"
 
-    for namequoted in $(cat $release_file | yq '.containers[].name'); do
-        versionquoted=$(cat $release_file | yq ".containers[] |select(.name==$namequoted) |.version")
+    for namequoted in $(yq '.containers[].name' $release_file); do
+        versionquoted=$(yq ".containers[] |select(.name==$namequoted) |.version" $release_file)
 
         #Remove extra yaml quotes
         name="${namequoted#\"}"
@@ -384,6 +386,7 @@ pypi_release_file(){
         echo "WARN: failed to download source distribution"
     fi
     echo "INFO: Checking files in $tgtdir"
+    # shellcheck disable=SC2012
     filecount=$(ls $tgtdir | wc -l)
     if [[ $filecount = 0 ]] ; then
         echo "ERROR: no files downloaded"