From 687da407d7dd30b7d6414c6cca4038f17f8bc69b Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Fri, 11 Aug 2017 12:40:04 -0400 Subject: [PATCH] Make lftools version configurable Add a new global default variable 'lftools-version' which can be used to specify a version of lftools to install. Issue: RELENG-391 Change-Id: I165c8309d4aaded6830f21eea10bc5a64cad2dff Signed-off-by: Thanh Ha --- README.md | 5 +++ jjb-test/defaults.yaml | 2 + jjb-test/expected-xml/gerrit-ciman-jjb-merge | 29 ++++++++++++- jjb-test/expected-xml/gerrit-ciman-jjb-verify | 29 ++++++++++++- .../gerrit-ciman-packer-merge-centos-java-builder | 29 ++++++++++++- .../gerrit-ciman-packer-merge-centos-mininet | 29 ++++++++++++- ...rrit-ciman-packer-merge-ubuntu1604-java-builder | 29 ++++++++++++- .../gerrit-ciman-packer-merge-ubuntu1604-mininet | 29 ++++++++++++- jjb-test/expected-xml/gerrit-ciman-packer-verify | 29 ++++++++++++- .../expected-xml/gerrit-maven-maven-clm-master | 29 ++++++++++++- .../expected-xml/gerrit-maven-maven-release-master | 49 +++++++++++++++++++++- .../expected-xml/gerrit-python-tox-verify-master | 49 +++++++++++++++++++++- jjb-test/expected-xml/github-ciman-jjb-merge | 29 ++++++++++++- jjb-test/expected-xml/github-ciman-jjb-verify | 29 ++++++++++++- .../github-ciman-packer-merge-centos-java-builder | 29 ++++++++++++- .../github-ciman-packer-merge-centos-mininet | 29 ++++++++++++- ...thub-ciman-packer-merge-ubuntu1604-java-builder | 29 ++++++++++++- .../github-ciman-packer-merge-ubuntu1604-mininet | 29 ++++++++++++- jjb-test/expected-xml/github-ciman-packer-verify | 29 ++++++++++++- .../expected-xml/github-maven-maven-clm-master | 29 ++++++++++++- .../expected-xml/github-maven-maven-release-master | 49 +++++++++++++++++++++- .../expected-xml/github-python-tox-verify-master | 49 +++++++++++++++++++++- jjb/lf-ci-jobs.yaml | 2 + jjb/lf-macros.yaml | 9 +++- jjb/lf-maven-jobs.yaml | 1 + jjb/lf-python-jobs.yaml | 1 + shell/lftools-install.sh | 20 ++++++++- 27 files changed, 674 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c1522bc0..00f1279d 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,10 @@ trigger any job that uses the `lf-infra-github-pr-trigger` macro. privileges on any job using the `lf-infra-github-pr-trigger` macro. +**lftools-version**: Version of lftools to install. Can be a specific version +like '0.6.1' or a PEP-440 definition. +For example `<1.0.0` or `>=1.0.0,<2.0.0`. + defaults.yaml: ``` @@ -121,6 +125,7 @@ defaults.yaml: - zxiiro github_pr_admin_list: - tykeal + lftools-version: '<1.0.0' ``` ## Config File Management diff --git a/jjb-test/defaults.yaml b/jjb-test/defaults.yaml index 95a951ce..319f257e 100644 --- a/jjb-test/defaults.yaml +++ b/jjb-test/defaults.yaml @@ -19,6 +19,8 @@ github_pr_admin_list: - tykeal + lftools-version: '<1.0.0' + # Common test config project: releng/ciman stream: latest diff --git a/jjb-test/expected-xml/gerrit-ciman-jjb-merge b/jjb-test/expected-xml/gerrit-ciman-jjb-merge index 5432cdfd..9f8081ec 100644 --- a/jjb-test/expected-xml/gerrit-ciman-jjb-merge +++ b/jjb-test/expected-xml/gerrit-ciman-jjb-merge @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + JJB_VERSION Jenkins Job Builder version to download and install. @@ -334,6 +343,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -380,10 +401,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-jjb-verify b/jjb-test/expected-xml/gerrit-ciman-jjb-verify index 40cbc688..d5580b3b 100644 --- a/jjb-test/expected-xml/gerrit-ciman-jjb-verify +++ b/jjb-test/expected-xml/gerrit-ciman-jjb-verify @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + JJB_VERSION Jenkins Job Builder version to download and install. @@ -427,6 +436,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -473,10 +494,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-java-builder b/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-java-builder index cef730b2..87b5ec98 100644 --- a/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-java-builder +++ b/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-java-builder @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -515,6 +524,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -561,10 +582,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-mininet b/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-mininet index ed8e5e51..1a7fde3e 100644 --- a/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-mininet +++ b/jjb-test/expected-xml/gerrit-ciman-packer-merge-centos-mininet @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -515,6 +524,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -561,10 +582,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-java-builder b/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-java-builder index 412173d8..0a54424c 100644 --- a/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-java-builder +++ b/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-java-builder @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -515,6 +524,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -561,10 +582,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-mininet b/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-mininet index dda58d94..62c6857e 100644 --- a/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-mininet +++ b/jjb-test/expected-xml/gerrit-ciman-packer-merge-ubuntu1604-mininet @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -515,6 +524,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -561,10 +582,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-verify b/jjb-test/expected-xml/gerrit-ciman-packer-verify index ad38091e..5c963fff 100644 --- a/jjb-test/expected-xml/gerrit-ciman-packer-verify +++ b/jjb-test/expected-xml/gerrit-ciman-packer-verify @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -403,6 +412,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -449,10 +470,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-maven-maven-clm-master b/jjb-test/expected-xml/gerrit-maven-maven-clm-master index 79af60e1..8d5c7a38 100644 --- a/jjb-test/expected-xml/gerrit-maven-maven-clm-master +++ b/jjb-test/expected-xml/gerrit-maven-maven-clm-master @@ -65,6 +65,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + MAVEN_OPTS Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m @@ -361,6 +370,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -407,10 +428,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-maven-maven-release-master b/jjb-test/expected-xml/gerrit-maven-maven-release-master index f045b179..b391637f 100644 --- a/jjb-test/expected-xml/gerrit-maven-maven-release-master +++ b/jjb-test/expected-xml/gerrit-maven-maven-release-master @@ -65,6 +65,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + MAVEN_OPTS Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m @@ -213,6 +222,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -259,10 +280,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" @@ -502,6 +529,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -548,10 +587,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/gerrit-python-tox-verify-master b/jjb-test/expected-xml/gerrit-python-tox-verify-master index 971c6cd7..6908475a 100644 --- a/jjb-test/expected-xml/gerrit-python-tox-verify-master +++ b/jjb-test/expected-xml/gerrit-python-tox-verify-master @@ -64,6 +64,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + TOX_DIR Path to directory containing tox.ini file. @@ -190,6 +199,18 @@ Example: docs,py2,py3 ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -236,10 +257,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" @@ -406,6 +433,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -452,10 +491,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-jjb-merge b/jjb-test/expected-xml/github-ciman-jjb-merge index e17ba60a..ad689da7 100644 --- a/jjb-test/expected-xml/github-ciman-jjb-merge +++ b/jjb-test/expected-xml/github-ciman-jjb-merge @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + JJB_VERSION Jenkins Job Builder version to download and install. @@ -300,6 +309,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -346,10 +367,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-jjb-verify b/jjb-test/expected-xml/github-ciman-jjb-verify index fdf4cc4d..83cd7fda 100644 --- a/jjb-test/expected-xml/github-ciman-jjb-verify +++ b/jjb-test/expected-xml/github-ciman-jjb-verify @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + JJB_VERSION Jenkins Job Builder version to download and install. @@ -379,6 +388,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -425,10 +446,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-packer-merge-centos-java-builder b/jjb-test/expected-xml/github-ciman-packer-merge-centos-java-builder index 6a05c9ef..1f75c0c0 100644 --- a/jjb-test/expected-xml/github-ciman-packer-merge-centos-java-builder +++ b/jjb-test/expected-xml/github-ciman-packer-merge-centos-java-builder @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -473,6 +482,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -519,10 +540,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-packer-merge-centos-mininet b/jjb-test/expected-xml/github-ciman-packer-merge-centos-mininet index 487fc9be..bee3db07 100644 --- a/jjb-test/expected-xml/github-ciman-packer-merge-centos-mininet +++ b/jjb-test/expected-xml/github-ciman-packer-merge-centos-mininet @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -473,6 +482,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -519,10 +540,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-java-builder b/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-java-builder index ed859301..b3ca61ca 100644 --- a/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-java-builder +++ b/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-java-builder @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -473,6 +482,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -519,10 +540,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-mininet b/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-mininet index e511e7a7..8bc173bf 100644 --- a/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-mininet +++ b/jjb-test/expected-xml/github-ciman-packer-merge-ubuntu1604-mininet @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -473,6 +482,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -519,10 +540,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-ciman-packer-verify b/jjb-test/expected-xml/github-ciman-packer-verify index 3e8223a6..20da5d3b 100644 --- a/jjb-test/expected-xml/github-ciman-packer-verify +++ b/jjb-test/expected-xml/github-ciman-packer-verify @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + PACKER_VERSION Packer version to download and install. @@ -347,6 +356,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -393,10 +414,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-maven-maven-clm-master b/jjb-test/expected-xml/github-maven-maven-clm-master index c1830dde..cfe33590 100644 --- a/jjb-test/expected-xml/github-maven-maven-clm-master +++ b/jjb-test/expected-xml/github-maven-maven-clm-master @@ -60,6 +60,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + MAVEN_OPTS Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m @@ -356,6 +365,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -402,10 +423,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-maven-maven-release-master b/jjb-test/expected-xml/github-maven-maven-release-master index 8900ca4c..9186d878 100644 --- a/jjb-test/expected-xml/github-maven-maven-release-master +++ b/jjb-test/expected-xml/github-maven-maven-release-master @@ -60,6 +60,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + MAVEN_OPTS Maven Java opts. Example: -Xmx1024m -XX:MaxPermSize=256m @@ -208,6 +217,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -254,10 +275,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" @@ -497,6 +524,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -543,10 +582,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb-test/expected-xml/github-python-tox-verify-master b/jjb-test/expected-xml/github-python-tox-verify-master index cee75a7c..2d499f84 100644 --- a/jjb-test/expected-xml/github-python-tox-verify-master +++ b/jjb-test/expected-xml/github-python-tox-verify-master @@ -59,6 +59,15 @@ job is triggered by Gerrit. + + LFTOOLS_VERSION + Version of lftools to install. Can be a specific version like +'0.6.0' or a PEP-440 definition. +https://www.python.org/dev/peps/pep-0440/ +For example '<1.0.0' or '>=1.0.0,<2.0.0'. + + <1.0.0 + TOX_DIR Path to directory containing tox.ini file. @@ -152,6 +161,18 @@ Example: docs,py2,py3 ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -198,10 +219,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" @@ -368,6 +395,18 @@ echo "machine $machine login $user password $pass" > ~/.netrc ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -414,10 +453,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index add785f4..d498aff9 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -103,6 +103,7 @@ project: '{project}' stream: '{stream}' branch: '{branch}' + lftools-version: '{lftools-version}' - lf-infra-packer-parameters: packer-version: '{packer-version}' @@ -150,6 +151,7 @@ project: '{project}' stream: '{stream}' branch: '{branch}' + lftools-version: '{lftools-version}' - lf-infra-jjb-parameters: jjb-version: '{jjb-version}' diff --git a/jjb/lf-macros.yaml b/jjb/lf-macros.yaml index 10a332a7..0c085c11 100644 --- a/jjb/lf-macros.yaml +++ b/jjb/lf-macros.yaml @@ -272,7 +272,14 @@ Note that Gerrit will override this parameter automatically if a job is triggered by Gerrit. - + - string: + name: LFTOOLS_VERSION + default: '{lftools-version}' + description: | + Version of lftools to install. Can be a specific version like + '0.6.0' or a PEP-440 definition. + https://www.python.org/dev/peps/pep-0440/ + For example '<1.0.0' or '>=1.0.0,<2.0.0'. - parameter: name: lf-infra-tox-parameters diff --git a/jjb/lf-maven-jobs.yaml b/jjb/lf-maven-jobs.yaml index 41c73e7a..f1fc74a9 100644 --- a/jjb/lf-maven-jobs.yaml +++ b/jjb/lf-maven-jobs.yaml @@ -41,6 +41,7 @@ project: '{project}' branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' - lf-infra-maven-parameters: mvn-opts: '{mvn-opts}' mvn-params: '{mvn-params}' diff --git a/jjb/lf-python-jobs.yaml b/jjb/lf-python-jobs.yaml index 42e0967c..005f99f7 100644 --- a/jjb/lf-python-jobs.yaml +++ b/jjb/lf-python-jobs.yaml @@ -58,6 +58,7 @@ project: '{project}' branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' - lf-infra-tox-parameters: tox-dir: '{tox-dir}' tox-envs: '{tox-envs}' diff --git a/shell/lftools-install.sh b/shell/lftools-install.sh index d7a7eb37..bdf380fc 100644 --- a/shell/lftools-install.sh +++ b/shell/lftools-install.sh @@ -10,6 +10,18 @@ ############################################################################## echo "---> lftools-install.sh" +# Script to install lftools via a version passed in via lf-infra-parameters +# +# Required parameters: +# +# LFTOOLS_VERSION: Passed in via lf-infra-parameters configuration. Can be +# set to a strict version number like '1.2.3' or using +# PEP-440 definitions. +# +# Examples: +# <1.0.0 +# >=1.0.0,<2.0.0 +# # 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 @@ -56,10 +68,16 @@ case $LFTOOLS_MODE in ;; release) - pip install --quiet --upgrade "lftools<1.0.0" + if [[ $LFTOOLS_VERSION =~ ^[0-9] ]]; then + LFTOOLS_VERSION="==$LFTOOLS_VERSION" + fi + + pip install --quiet --upgrade "lftools${LFTOOLS_VERSION}" ;; esac +lftools --version + # 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" -- 2.16.6