Refactor: JJB code
[ci-management.git] / jjb / pti-rtp / upload-inf.sh
index afcdd26..a472e49 100644 (file)
@@ -21,16 +21,22 @@ echo "--> upload-inf.sh"
 # Ensure we fail the job if any steps fail.
 set -eu -o pipefail
 
-echo "INFO: creating virtual environment"
-virtualenv -p python3 /tmp/venv
-PATH=/tmp/venv/bin:$PATH
-
-pip_pkgs="pip setuptools lftools"
-for pkg in $pip_pkgs; do
-    cmd_pip="python -m pip install -q --upgrade $pkg"
-    echo "INFO: installing packages: $cmd_pip"
-    $cmd_pip
-done
+if [[ -f ~/lf-env.sh ]]; then
+    # shellcheck source=/dev/null
+    . ~/lf-env.sh
+    lf-activate-venv --python python3 lftools
+else
+    echo "INFO: creating virtual environment"
+    virtualenv -p python3 /tmp/venv
+    PATH=/tmp/venv/bin:$PATH
+
+    pip_pkgs="pip setuptools lftools"
+    for pkg in $pip_pkgs; do
+        cmd_pip="python -m pip install --upgrade $pkg"
+        echo "INFO: installing packages: $cmd_pip"
+        $cmd_pip
+    done
+fi
 
 # NEXUS_URL is set by Jenkins
 nexus_repo_id="images"
@@ -38,17 +44,32 @@ nexus_repo_url="$NEXUS_URL/content/sites/$nexus_repo_id"
 echo "INFO: upload to $nexus_repo_url"
 
 repo_dir="$WORKSPACE/nexus/$nexus_repo_id"
-# TODO: get build or version string; use latest for now
-repo_iso_dir="$repo_dir/org/o-ran-sc/pti/rtp/latest"
-echo "INFO: create staging directory $repo_iso_dir"
-mkdir -p "$repo_iso_dir"
-
-# Expect ISO file: oran-image-inf-host-intel-x86-64.iso
-# in build subdir: workspace/prj_oran-inf/tmp-glibc/deploy/images/intel-x86-64/
-#iso="workspace/prj_oran-inf/tmp-glibc/deploy/images/intel-x86-64/oran-image-inf-host-intel-x86-64.iso"
-iso="workspace/prj_oran_inf_anaconda/tmp-glibc/deploy/images/intel-corei7-64/inf-image-aio-installer-intel-corei7-64.iso"
-echo "INFO: copy $iso to staging directory $repo_iso_dir"
-cp "$iso" "$repo_iso_dir"
+repo_iso_dir_latest="$repo_dir/org/o-ran-sc/pti/rtp/latest"
+repo_iso_dir_branch="$repo_dir/org/o-ran-sc/pti/rtp/$GERRIT_BRANCH"
+echo "INFO: create staging directory $repo_iso_dir_latest and $repo_iso_dir_branch"
+mkdir -p "$repo_iso_dir_latest" "$repo_iso_dir_branch"
+
+# Expect Yocto based ISO file: inf-image-yocto-aio-x86-64.iso
+# in build subdir: workspace/workspace_yocto/prj_output/
+iso_yocto="workspace/workspace_yocto/prj_output/inf-image-yocto-aio-x86-64.iso"
+
+# Expect Debian based ISO file: inf-image-debian-all-x86-64.iso
+# in build subdir: workspace/workspace_debian/prj_output/
+iso_debian="workspace/workspace_debian/prj_output/inf-image-debian-all-x86-64.iso"
+
+# Expect CentOS based ISO file: inf-image-centos-all-x86-64.iso
+# in build subdir: workspace/workspace_centos/prj_output/
+iso_centos="workspace/workspace_centos/prj_output/inf-image-centos-all-x86-64.iso"
+
+for iso_dir in $repo_iso_dir_latest $repo_iso_dir_branch; do
+    echo "INFO: copy ISO images to staging directory $iso_dir"
+    for iso_img in $iso_yocto $iso_centos $iso_debian; do
+        if [[ -f $iso_img ]]; then
+            echo "INFO: copying $iso_img"
+            cp "$iso_img" "$iso_dir"
+        fi
+    done
+done
 
 cmd="lftools deploy nexus $nexus_repo_url $repo_dir"
 echo "INFO: Upload ISO to Nexus: $cmd"