X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fshell%2Fta-rpm-deploy.sh;h=719ec5dc2f18f88332092e0aedfefa6e59f3d8a3;hp=e89411b8fe8fd15159f67786e84bb4214578fdbf;hb=0904fdd5e0e3b113ee90e77c646a7f156d878762;hpb=621a10de775b8f312043e886d8264e8f06ea38bb diff --git a/jjb/shell/ta-rpm-deploy.sh b/jjb/shell/ta-rpm-deploy.sh index e89411b..719ec5d 100644 --- a/jjb/shell/ta-rpm-deploy.sh +++ b/jjb/shell/ta-rpm-deploy.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -l # SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2017 The Linux Foundation and others. @@ -16,19 +16,55 @@ set -eu -o pipefail set -x # Trace commands for this script to make debugging easier. -NEXUS_REPO=images-snapshots +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="$NEXUS_URL/content/repositories/$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|'` -mkdir -p "$x86_dir" +#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" -cp "$WORKSPACE/work/results/repo/"*.rpm "$x86_dir" -cp "$WORKSPACE/work/results/src_repo/"*.rpm "$sources_dir" +#List all RPMs available in Nexus, move the duplicates and copy the changed ones +for artifact in \ + `ls $results_dir/repo/*.rpm` + do + if curl -L --head --fail $nexus_repo_url/$release_path/rpms/$(uname -m)/$(basename $artifact) + then + 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 Source RPMs available in Nexus, move the duplicates and copy the changed ones +for artifact in \ + `ls $results_dir/src_repo/*.rpm` + do + if curl -L --head --fail $nexus_repo_url/$release_path/rpms/Sources/$(basename $artifact) + then + 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 + +echo "-----> Sign all artifacts" +lftools sign sigul "$repo_dir" echo "-----> Upload RPMs to Nexus" lftools deploy nexus "$nexus_repo_url" "$repo_dir"