X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fpython-tools-install.sh;h=74075377c09f7028dbf1641110f6093bef360999;hb=dbd05cd4100a27a545cc2c7f0388018449d982c3;hp=6b963a48e48e177d62c210529b94edd76585a22f;hpb=a3b2a2ca304c3958f3a4bb214855872d6eae61d4;p=releng%2Fglobal-jjb.git diff --git a/shell/python-tools-install.sh b/shell/python-tools-install.sh index 6b963a48..74075377 100644 --- a/shell/python-tools-install.sh +++ b/shell/python-tools-install.sh @@ -8,29 +8,53 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################## +echo "---> python-tools-install.sh" -set -eux -o pipefail +set -eu -o pipefail -REQUIREMENTS_FILE=$(mktemp /tmp/requirements-XXXX.txt) +# Generate a list of 'pip' packages pre-build/post-build +# During post-build, perform a diff on the two lists and copy files to archive directory +echo "Listing pip packages" +pip_list_pre=/tmp/pip-list-pre.txt +pip_list_post=/tmp/pip-list-post.txt +pip_list_diffs=/tmp/pip-list-diffs.txt +if [[ -f $pip_list_pre ]]; then + pip list > $pip_list_post + echo "Compare pip packages before/after..." + if diff --suppress-common-lines $pip_list_pre $pip_list_post \ + | tee $pip_list_diffs; then + echo "No diffs" | tee $pip_list_diffs + fi + mkdir -p "$WORKSPACE/archives" + cp "$pip_list_pre" "$pip_list_post" "$pip_list_diffs" "$WORKSPACE/archives" + rm -rf "$pip_list_pre" "$pip_list_post" "$pip_list_diffs" + ls "$WORKSPACE/archives" + # Would just like to 'exit 0' here but we can't because the + # log-deploy.sh script is 'appended' to this file and it would not + # be executed. +else + pip list > "$pip_list_pre" + # These 'pip installs' only need to be executed during pre-build -# Note: To test lftools master branch change the lftools configuration below in -# the requirements file from "lftools[openstack]~=#.##.#" to -# git+https://github.com/lfit/releng-lftools.git#egg=lftools[openstack] + requirements_file=$(mktemp /tmp/requirements-XXXX.txt) -cat << EOF > "$REQUIREMENTS_FILE" -lftools[openstack]~=0.21.0 + # Note: To test lftools master branch change the lftools configuration below in + # the requirements file from "lftools[openstack]~=#.##.#" to + # git+https://github.com/lfit/releng-lftools.git#egg=lftools[openstack] + + echo "Generating Requirements File" + cat << 'EOF' > "$requirements_file" +lftools[openstack]~=0.25.4 python-heatclient~=1.16.1 python-openstackclient~=3.16.0 dogpile.cache~=0.6.8 # Version 0.7.[01] seems to break openstackclient niet~=1.4.2 # Extract values from yaml +yq~=2.7.2 EOF -echo "Requirements file" -echo "-----------------" -cat "$REQUIREMENTS_FILE" - -# Use `python -m pip` to ensure we are using the latest version of pip -python -m pip install --user --quiet --upgrade pip -python -m pip install --user --quiet --upgrade setuptools -python -m pip install --user --quiet --upgrade -r "$REQUIREMENTS_FILE" -pip freeze + # Use `python -m pip` to ensure we are using the latest version of pip + python -m pip install --user --quiet --upgrade pip + python -m pip install --user --quiet --upgrade setuptools + python -m pip install --user --quiet --upgrade -r "$requirements_file" + rm -rf "$requirements_file" +fi