X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Flftools-install.sh;h=d7a7eb37e066736baf86fc164f5aad68ff591b72;hb=4b3373319d2d9301e092a1171d6a51a48664523a;hp=cebb0a5d444895f62040ec999d776484fee521ba;hpb=0786d5870812545b09f27699d7f71d197a257575;p=releng%2Fglobal-jjb.git diff --git a/shell/lftools-install.sh b/shell/lftools-install.sh index cebb0a5d..d7a7eb37 100644 --- a/shell/lftools-install.sh +++ b/shell/lftools-install.sh @@ -1,5 +1,5 @@ #!/bin/bash -# @License EPL-1.0 +# SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2017 The Linux Foundation and others. # @@ -10,17 +10,58 @@ ############################################################################## echo "---> lftools-install.sh" +# By default a released version of lftools should always be used. +# The purpose of the 2 variables below is so that lftools devs can test +# unreleased versions of lftools. There are 2 methods to install a dev version +# of lftools: +# +# 1) gerrit patch: Used to test a patch that has not yet been merged. +# To do this set something like this: +# LFTOOLS_MODE=gerrit +# LFTOOLS_REFSPEC=refs/changes/96/5296/7 +# +# 2) git branch: Used to install an lftools version from a specific branch. +# To use this set the variables as follows: +# LFTOOLS_MODE=git +# LFTOOLS_REFSPEC=master +# +# 3) release : The intended use case and default setting. +# Set LFTOOLS_MODE=release, in this case LFTOOLS_REFSPEC is unused. + +LFTOOLS_MODE=release # release | git | gerrit +LFTOOLS_REFSPEC=master + # Ensure we fail the job if any steps fail. # DO NOT set -u as virtualenv's activate script has unbound variables set -e -o pipefail -virtualenv --quiet "$WORKSPACE/.virtualenvs/lftools" -# shellcheck source=./.virtualenvs/lftools/bin/activate disable=SC1091 -source "$WORKSPACE/.virtualenvs/lftools/bin/activate" -PYTHON="$WORKSPACE/.virtualenvs/lftools/bin/python" -$PYTHON -m pip install --quiet --upgrade pip -$PYTHON -m pip install --quiet --upgrade pipdeptree -$PYTHON -m pip install --quiet --upgrade "lftools<1.0.0" +virtualenv --quiet "/tmp/v/lftools" +# shellcheck source=/tmp/v/lftools/bin/activate disable=SC1091 +source "/tmp/v/lftools/bin/activate" +pip install --quiet --upgrade pip + +case $LFTOOLS_MODE in + gerrit) + git clone https://gerrit.linuxfoundation.org/infra/releng/lftools.git /tmp/lftools + pushd /tmp/lftools + git fetch origin "$LFTOOLS_REFSPEC" + git checkout FETCH_HEAD + pip install --quiet --upgrade -r requirements.txt + pip install --quiet --upgrade -e . + popd + ;; + + git) + pip install --quiet --upgrade git+https://gerrit.linuxfoundation.org/infra/releng/lftools.git@"$BRANCH" + ;; + + release) + pip install --quiet --upgrade "lftools<1.0.0" + ;; +esac -echo "----> Pip Dependency Tree" -$PYTHON -m pipdeptree +# pipdeptree prints out a lot of information because lftools pulls in many +# dependencies. Let's only print it if we want to debug. +# echo "----> Pip Dependency Tree" +# pip install --quiet --upgrade pipdeptree +# pipdeptree