Merge "Update list of csit jobs for distribution test"
authorJamo Luhrsen <jluhrsen@redhat.com>
Thu, 24 Aug 2017 04:14:02 +0000 (04:14 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 24 Aug 2017 04:14:02 +0000 (04:14 +0000)
jjb/packaging/build-deb.sh
jjb/packaging/build-rpm.sh

index 0c402f7fe6731cc0ce7902beaeb9b2c294d6cc6b..f3fe85248acd39eff42ccee298f8df57c93f6041 100644 (file)
@@ -16,8 +16,8 @@ $PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
 
 # Build release specified by build params
 "$WORKSPACE/packaging/packages/build.py" --deb --download_url "$DOWNLOAD_URL" \
-                                  --changelog_name "$CHANGELOG_NAME" \
-                                  --changelog_email "$CHANGELOG_EMAIL"
+                                         --changelog_name "$CHANGELOG_NAME" \
+                                         --changelog_email "$CHANGELOG_EMAIL"
 
 # Copy the debs to be upload
 UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
index 6c76fd958551fb5c262aab4de5769749f4b77927..70f5e57a7d8aa961a84fc255584eba50bc0bfff6 100644 (file)
@@ -14,14 +14,25 @@ PYTHON="rpm_build/bin/python"
 $PYTHON -m pip install --upgrade pip
 $PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
 
-# Make a URL for the tarball artifact from DOWNLOAD_URL (a zip)
-# shellcheck disable=SC2154
-download_url="${{DOWNLOAD_URL//zip/tar.gz}}"
+# Packaging logic needs a tarball, but can repackage a zip into tar.gz
+# if needed. All builds except multipatch-test publish both a tar.gz and zip.
+# Autorelease passes DOWNLOAD_URL to zip, others typically use tar.gz.
+# If URL is to zip, check if there's a tar.gz available to avoid repackaging.
+if [[ $DOWNLOAD_URL = *.zip ]]; then
+  # shellcheck disable=SC2154
+  candidate_tarball_url="${{DOWNLOAD_URL//zip/tar.gz}}"
+  # shellcheck disable=SC2154
+  url_status=$(curl --silent --head --location --output /dev/null --write-out \
+    '%{{http_code}}' "$candidate_tarball_url")
+  if [[ $url_status = 2* ]]; then
+    DOWNLOAD_URL="$candidate_tarball_url"
+  fi
+fi
 
 # Build release specified by build params
-"$WORKSPACE/packaging/packages/build.py" --rpm --download_url "$download_url" \
-                                    --changelog_name "$CHANGELOG_NAME" \
-                                    --changelog_email "$CHANGELOG_EMAIL"
+"$WORKSPACE/packaging/packages/build.py" --rpm --download_url "$DOWNLOAD_URL" \
+                                         --changelog_name "$CHANGELOG_NAME" \
+                                         --changelog_email "$CHANGELOG_EMAIL"
 
 # Move RPMs (SRPM and noarch) to dir of files that will be uploaded to Nexus
 UPLOAD_FILES_PATH="$WORKSPACE/upload_files"