From: Anil Shashikumar Belur Date: Tue, 15 Aug 2017 00:38:04 +0000 (+0000) Subject: Merge changes I7d7323b8,Ib796cfee X-Git-Tag: v0.7.0~8 X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=fb9abdc112c25dc88c43fc094d0dd4a99385a211;hp=ec0a666af4481b21b82be836011d6c94bb04e098;p=releng%2Fglobal-jjb.git Merge changes I7d7323b8,Ib796cfee * changes: Add default refspec reference Refactor packer ci templates --- 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 93149c92..12b0e870 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -342,7 +384,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/gerrit-ciman-jjb-verify b/jjb-test/expected-xml/gerrit-ciman-jjb-verify index 61e2a613..69c3166f 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -435,7 +477,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 4fde5906..0565e3cb 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -523,7 +565,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 771c62e9..1bcd1550 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -523,7 +565,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 17135603..7cf25b58 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -523,7 +565,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 62be790c..73c50d51 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -523,7 +565,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/gerrit-ciman-packer-verify b/jjb-test/expected-xml/gerrit-ciman-packer-verify index 51f67c04..04a3f527 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -411,7 +453,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/gerrit-maven-maven-clm-master b/jjb-test/expected-xml/gerrit-maven-maven-clm-master index 6786db91..150a594d 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -369,7 +411,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/gerrit-maven-maven-release-master b/jjb-test/expected-xml/gerrit-maven-maven-release-master index dd9ddc3c..dd4d3e85 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -221,7 +263,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. @@ -462,6 +529,39 @@ 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 +# 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 @@ -470,7 +570,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/gerrit-python-tox-verify-master b/jjb-test/expected-xml/gerrit-python-tox-verify-master index 30fa7f18..885d5a27 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -198,7 +240,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. @@ -366,6 +433,39 @@ 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 +# 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 @@ -374,7 +474,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-ciman-jjb-merge b/jjb-test/expected-xml/github-ciman-jjb-merge index ab6cdb5b..12a55551 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -308,7 +350,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-ciman-jjb-verify b/jjb-test/expected-xml/github-ciman-jjb-verify index 1f0e9d5b..0d8d5b2b 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -387,7 +429,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 36755e61..38be9216 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -481,7 +523,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 44c9896a..9fb389f4 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -481,7 +523,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 c8ff4420..d7df7956 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -481,7 +523,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. 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 a48988a6..fe4bb8a6 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -481,7 +523,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-ciman-packer-verify b/jjb-test/expected-xml/github-ciman-packer-verify index 5386b738..6e84f2b7 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -355,7 +397,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-maven-maven-clm-master b/jjb-test/expected-xml/github-maven-maven-clm-master index 414d3d40..8a9a67f5 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -364,7 +406,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-maven-maven-release-master b/jjb-test/expected-xml/github-maven-maven-release-master index 9a415e25..73aba06d 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -216,7 +258,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. @@ -457,6 +524,39 @@ 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 +# 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 @@ -465,7 +565,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb-test/expected-xml/github-python-tox-verify-master b/jjb-test/expected-xml/github-python-tox-verify-master index 7a8a99be..31b825ec 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. refs/heads/master + + 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,39 @@ 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 +# 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 @@ -160,7 +202,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. @@ -328,6 +395,39 @@ 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 +# 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 @@ -336,7 +436,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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. diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index ef8c665f..d927ca33 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -105,6 +105,7 @@ project: '{project}' stream: '{stream}' branch: '{branch}' + lftools-version: '{lftools-version}' - lf-infra-packer-parameters: packer-version: '{packer-version}' @@ -167,6 +168,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 eb25459e..af9528ce 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 f458fd67..bdf380fc 100644 --- a/shell/lftools-install.sh +++ b/shell/lftools-install.sh @@ -10,6 +10,39 @@ ############################################################################## 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 +# 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 @@ -18,7 +51,32 @@ 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 -pip install --quiet --upgrade "lftools<1.0.0" + +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) + 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.