Apex: Refactor snapshot pipeline for other types
[releng.git] / jjb / apex / apex-upload-artifact.sh
index 9d0b014..00a0a1c 100755 (executable)
@@ -24,7 +24,9 @@ importkey () {
   git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
   #this is where we import the siging key
   if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
-    source $WORKSPACE/releng/utils/gpg_import_key.sh
+    if ! $WORKSPACE/releng/utils/gpg_import_key.sh; then
+      echo "WARNING: Failed to run gpg key import"
+    fi
   fi
 }
 
@@ -75,11 +77,15 @@ uploadrpm () {
 uploadsnap () {
   # Uploads snapshot artifact and updated properties file
   echo "Uploading snapshot artifacts"
-  SNAP_TYPE=$(echo ${JOB_NAME} | sed -n 's/^apex-\(.\+\)-promote.*$/\1/p')
-  gsutil cp $WORKSPACE/apex-${SNAP_TYPE}-snap-`date +%Y-%m-%d`.tar.gz gs://$GS_URL/ > gsutil.iso.log
-  if [ "$SNAP_TYPE" == 'csit' ]; then
-    gsutil cp $WORKSPACE/snapshot.properties gs://$GS_URL/snapshot.properties > gsutil.latest.log
+  # snapshot dir is the same node in the create job workspace
+  # only 1 promotion job can run at a time on a slave
+  snapshot_dir="${WORKSPACE}/../apex-create-snapshot"
+  if [ -z "$SNAP_TYPE" ]; then
+    echo "ERROR: SNAP_TYPE not provided...exiting"
+    exit 1
   fi
+  gsutil cp ${snapshot_dir}/apex-${SNAP_TYPE}-snap-`date +%Y-%m-%d`.tar.gz gs://$GS_URL/ > gsutil.iso.log
+  gsutil cp ${snapshot_dir}/snapshot.properties gs://$GS_URL/snapshot.properties > gsutil.latest.log
   echo "Upload complete for Snapshot"
 }
 
@@ -106,8 +112,8 @@ fi
 if [ "$ARTIFACT_TYPE" == 'snapshot' ]; then
   uploadsnap
 elif [ "$ARTIFACT_TYPE" == 'iso' ]; then
-  if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
-    echo "Skipping artifact upload for ${ARTIFACT_TYPE} due to dev build"
+  if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" != 'stable/fraser' ]]; then
+    echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/${BRANCH} build"
     exit 0
   fi
   if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then
@@ -116,22 +122,28 @@ elif [ "$ARTIFACT_TYPE" == 'iso' ]; then
   uploadiso
 elif [ "$ARTIFACT_TYPE" == 'rpm' ]; then
   if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
-    echo "dev build detected, will upload image tarball"
-    ARTIFACT_TYPE=tarball
-    uploadimages
+    if [[ "$BRANCH" != 'stable/fraser' ]]; then
+      echo "will not upload artifacts, ${BRANCH} uses upstream"
+      ARTIFACT_TYPE=none
+    else
+      echo "dev build detected, will upload image tarball"
+      ARTIFACT_TYPE=tarball
+      uploadimages
+    fi
   else
     RPM_INSTALL_PATH=$BUILD_DIRECTORY/noarch
+    # RPM URL should be python package for master, and is only package we need
     RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL)
-    VERSION_EXTENSION=$(echo $(basename $OPNFV_RPM_URL) | sed 's/opnfv-apex-//')
-    for pkg in common undercloud; do # removed onos for danube
-      RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-${pkg}-${VERSION_EXTENSION}"
-    done
     SRPM_INSTALL_PATH=$BUILD_DIRECTORY
     SRPM_LIST=$SRPM_INSTALL_PATH/$(basename $OPNFV_SRPM_URL)
-    VERSION_EXTENSION=$(echo $(basename $OPNFV_SRPM_URL) | sed 's/opnfv-apex-//')
-    for pkg in common undercloud; do # removed onos for danube
-      SRPM_LIST+=" ${SRPM_INSTALL_PATH}/opnfv-apex-${pkg}-${VERSION_EXTENSION}"
-    done
+    if [[ "$BRANCH" == 'stable/fraser' ]]; then
+      VERSION_EXTENSION=$(echo $(basename $OPNFV_RPM_URL) | sed 's/opnfv-apex-//')
+      RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}"
+      RPM_LIST+=" ${RPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}"
+      VERSION_EXTENSION=$(echo $(basename $OPNFV_SRPM_URL) | sed 's/opnfv-apex-//')
+      SRPM_LIST+=" ${SRPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}"
+      SRPM_LIST+=" ${SRPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}"
+    fi
 
     if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then
       signrpm