# 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"
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"