Show error if distribution_type is missing
[releng/global-jjb.git] / shell / release-job.sh
index 5527688..b10ffb1 100644 (file)
@@ -17,6 +17,9 @@ PATH=/tmp/venv/bin:$PATH
 pipup="python -m pip install -q --upgrade pip lftools jsonschema niet twine yq"
 echo "INFO: $pipup"
 $pipup
+# show installed versions
+python -m pip --version
+python -m pip freeze
 
 #Functions.
 
@@ -44,9 +47,14 @@ set_variables_common(){
     fi
 
     # Jenkins parameter drop-down defaults DISTRIBUTION_TYPE to None
+    # in the contain/maven release job; get value from release yaml.
+    # Packagecloud and PyPI jobs set the appropriate value.
     DISTRIBUTION_TYPE="${DISTRIBUTION_TYPE:-None}"
     if [[ $DISTRIBUTION_TYPE == "None" ]]; then
-        DISTRIBUTION_TYPE=$(niet ".distribution_type" "$release_file")
+        if ! DISTRIBUTION_TYPE=$(niet ".distribution_type" "$release_file"); then
+            echo "ERROR: Failed to get distribution_type from $release_file"
+            exit 1
+        fi
     fi
 
     PATCH_DIR=$(mktemp -d)
@@ -313,8 +321,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 +392,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"