Add signing to Akraino deploy templates
[ci-management.git] / jjb / shell / ta-rpm-deploy.sh
index eeb1af6..719ec5d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -l
 # SPDX-License-Identifier: EPL-1.0
 ##############################################################################
 # Copyright (c) 2017 The Linux Foundation and others.
@@ -16,45 +16,55 @@ set -eu -o pipefail
 
 set -x  # Trace commands for this script to make debugging easier.
 
+set +f  # Ensure filename expansion (globbing) is enabled
+
 NEXUS_REPO=rpm.snapshots
 release_path=TA/release-1
 
 repo_dir="$WORKSPACE/work/nexus/$NEXUS_REPO"
-x86_dir="$repo_dir/$release_path/rpms/x86_64"
+arch_dir="$repo_dir/$release_path/rpms/$(uname -m)"
 sources_dir="$repo_dir/$release_path/rpms/Sources"
-nexus_repo_url="$ALT_NEXUS_URL/repository/$NEXUS_REPO"
+nexus_repo_url="$RPM_REPO_URL/repository/$NEXUS_REPO"
 results_dir="$WORKSPACE/work/results"
 repo_name=`echo $WORKSPACE | awk -F '/' '{print $4}' | cut -d '-' -f2- | sed 's|\(.*\)-.*|\1|'`
 
-#Creating dir to move duplicate RPMs/SRPMs to avoid re-upload
+#Creating dirs to move duplicate RPMs/SRPMs to avoid re-upload and copy the changed RPMs/SRPMs
+rm -rf "$results_dir/repo/duplicates" "$results_dir/src_repo/duplicates"
 mkdir "$results_dir/repo/duplicates"
 mkdir "$results_dir/src_repo/duplicates"
+mkdir -p "$arch_dir"
+mkdir -p "$sources_dir"
 
-#List all RPMs available in Nexus and move the duplicates
+#List all RPMs available in Nexus, move the duplicates and copy the changed ones
 for artifact in \
-  `ls $results_dir/repo`
+  `ls $results_dir/repo/*.rpm`
     do
-        if curl --head --fail $nexus_repo_url/$release_path/rpms/x86_64/$artifact
+        if curl -L --head --fail $nexus_repo_url/$release_path/rpms/$(uname -m)/$(basename $artifact)
         then
-            mv $results_dir/repo/$artifact $results_dir/repo/duplicates/
+            echo "RPM - $(basename $artifact) already available in Nexus"
+            mv $results_dir/repo/$(basename $artifact) $results_dir/repo/duplicates/
+        else
+            echo "RPM - $(basename $artifact) is not available in Nexus. Will be uploaded"
+            cp $results_dir/repo/$(basename $artifact) $arch_dir
         fi
     done
 
-#List all SRPMs available in Nexus and move the duplicates
+#List all Source RPMs available in Nexus, move the duplicates and copy the changed ones
 for artifact in \
-  `ls $results_dir/src_repo`
+  `ls $results_dir/src_repo/*.rpm`
     do
-        if curl --head --fail $nexus_repo_url/$release_path/rpms/Sources/$artifact
+        if curl -L --head --fail $nexus_repo_url/$release_path/rpms/Sources/$(basename $artifact)
         then
-            mv $results_dir/src_repo/$artifact $results_dir/src_repo/duplicates/
+            echo "Source RPM - $(basename $artifact) already available in Nexus"
+            mv $results_dir/src_repo/$(basename $artifact) $results_dir/src_repo/duplicates/
+        else
+            echo "Source RPM - $(basename $artifact) is not available in Nexus. Will be uploaded"
+            cp $results_dir/src_repo/$(basename $artifact) $sources_dir
         fi
     done
 
-mkdir -p "$x86_dir"
-mkdir -p "$sources_dir"
-
-cp "$results_dir/repo/"*.rpm "$x86_dir"
-cp "$results_dir/src_repo/"*.rpm "$sources_dir"
+echo "-----> Sign all artifacts"
+lftools sign sigul "$repo_dir"
 
 echo "-----> Upload RPMs to Nexus"
 lftools deploy nexus "$nexus_repo_url" "$repo_dir"