$PYTHON -m pip install --upgrade pip
$PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
+# Verify artifact at DOWNLOAD_URL exists
+# shellcheck disable=SC2154
+url_status=$(curl --silent --head --location --output /dev/null --write-out \
+ '%{http_code}' "$DOWNLOAD_URL")
+if [[ $url_status = 2* ]]; then
+ echo "Artifact at DOWNLOAD_URL exists"
+else
+ echo "Artifact at DOWNLOAD_URL does not exist"
+ exit 1
+fi
+
+
# 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}}"
+ 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")
+ '%{http_code}' "$candidate_tarball_url")
if [[ $url_status = 2* ]]; then
DOWNLOAD_URL="$candidate_tarball_url"
fi
direct \
--download_url "$DOWNLOAD_URL"
-# Publish RPMs to Nexus if in production Jenkins, else host on sandbox Jenkins
-if [ "$SILO" == "sandbox" ]; then
- echo "Not uploading RPMs to Nexus because running in sandbox"
-elif [ "$SILO" == "releng" ]; then
+# Always allow push to scratch repos, only push to CD repos in RelEng Jenkins
+if [ "$DEPLOY_TO_REPO" == "opendaylight-epel-7-x86_64-devel" ]; then
# Move RPMs (SRPM and noarch) to dir of files that will be uploaded to Nexus
UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
mkdir -p "$UPLOAD_FILES_PATH"
- cp "/home/$USER/rpmbuild/RPMS/noarch/"*.rpm "$_"
- cp "/home/$USER/rpmbuild/SRPMS/"*.rpm "$_"
+ cp "$HOME/rpmbuild/RPMS/noarch/"*.rpm "$_"
+ cp "$HOME/rpmbuild/SRPMS/"*.rpm "$_"
else
- echo "Unknown Jenkins silo: $SILO"
- exit 1
+ # Publish RPMs to CD repos if in production Jenkins, not in sandbox Jenkins
+ if [ "$SILO" == "sandbox" ]; then
+ echo "Not uploading RPMs to Nexus because running in sandbox"
+ elif [ "$SILO" == "releng" ]; then
+ # Move RPMs (SRPM+noarch) to dir of files that will be uploaded to Nexus
+ UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
+ mkdir -p "$UPLOAD_FILES_PATH"
+ cp "$HOME/rpmbuild/RPMS/noarch/"*.rpm "$_"
+ cp "$HOME/rpmbuild/SRPMS/"*.rpm "$_"
+ else
+ echo "Unknown Jenkins silo: $SILO"
+ exit 1
+ fi
fi