From: Sangwook Ha Date: Thu, 15 Sep 2022 17:58:09 +0000 (-0700) Subject: Use lf-activate-venv for Robot virtual environment X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F84%2F102384%2F1;p=releng%2Fbuilder.git Use lf-activate-venv for Robot virtual environment The virtual environment for Robot Framework is created with the system default Python 3.6 which is not supported any more. Use lf-activate-venv instead to leverage more recent version of Python and change the shell back to bash since 'lf-env.sh' is not POSIX compliant. Remove odltools from the requirements since odltools CSIT jobs have been removed. Change-Id: I62f9d580b77a877572a78730d43b99e6c419d215 Signed-off-by: Sangwook Ha --- diff --git a/jjb/integration/integration-install-robotframework.sh b/jjb/integration/integration-install-robotframework.sh index 5f909177a..215a16422 100644 --- a/jjb/integration/integration-install-robotframework.sh +++ b/jjb/integration/integration-install-robotframework.sh @@ -1,4 +1,4 @@ -#!/bin/sh -l +#!/bin/bash -l # SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2015 The Linux Foundation and others. @@ -10,20 +10,20 @@ ############################################################################## # vim: sw=4 ts=4 sts=4 et ft=sh : -ROBOT_VENV="/tmp/v/robot" -echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties" - -# The --system-site-packages parameter allows us to pick up system level -# installed packages. This allows us to bake matplotlib which takes very long -# to install into the image. -python3 -m venv "${ROBOT_VENV}" # shellcheck disable=SC1090 -. "${ROBOT_VENV}/bin/activate" +. ~/lf-env.sh -set -exu +# Create a virtual environment for robot tests and make sure setuptools & wheel +# are up-to-date in addition to pip +lf-activate-venv --python python3 --venv-file "${WORKSPACE}/.robot_venv" \ + setuptools \ + wheel + +# Save the virtual environment in ROBOT_VENV +ROBOT_VENV="$(cat "${WORKSPACE}/.robot_venv")" +echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties" -# Make sure pip itself us up-to-date. -python -m pip install --upgrade pip +set -exu echo "Installing Python Requirements" cat << 'EOF' > "requirements.txt" @@ -33,6 +33,7 @@ netaddr netifaces pyhocon requests +robotframework robotframework-httplibrary robotframework-requests==0.7.2 robotframework-selenium2library @@ -57,14 +58,7 @@ jmespath # Module for backup-restore support library jsonpatch - -# odltools for extra debugging -odltools EOF + python -m pip install -r requirements.txt -# Todo: Workaround needs pinned version of odltool to the latest because of the -# update in the dependency resolver in pip 21.3. -# Ref: https://github.com/pypa/pip/issues/9215 -pip install odltools==0.1.34 -odltools -V pip freeze