Auto Update CSIT Jobs to run for chlorine
[releng/builder.git] / jjb / integration / integration-install-robotframework.sh
1 #!/bin/bash -l
2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2015 The Linux Foundation and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Eclipse Public License v1.0
8 # which accompanies this distribution, and is available at
9 # http://www.eclipse.org/legal/epl-v10.html
10 ##############################################################################
11 # vim: sw=4 ts=4 sts=4 et ft=sh :
12
13 ROBOT_VENV="/tmp/v/robot"
14 echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
15
16 # The --system-site-packages parameter allows us to pick up system level
17 # installed packages. This allows us to bake matplotlib which takes very long
18 # to install into the image.
19 python3 -m venv "${ROBOT_VENV}"
20 # shellcheck disable=SC1090
21 source "${ROBOT_VENV}/bin/activate"
22
23 set -exu
24
25 # Make sure pip itself us up-to-date.
26 python -m pip install --upgrade pip
27
28 echo "Installing Python Requirements"
29 cat << 'EOF' > "requirements.txt"
30 docker-py
31 ipaddr
32 netaddr
33 netifaces
34 pyhocon
35 requests
36 robotframework-httplibrary
37 robotframework-requests==0.7.2
38 robotframework-selenium2library
39 robotframework-sshlibrary==3.1.1
40 scapy
41
42 # Module jsonpath is needed by current AAA idmlite suite.
43 jsonpath-rw
44
45 # Modules for longevity framework robot library
46 elasticsearch
47 elasticsearch-dsl
48
49 # Module for pyangbind used by lispflowmapping project
50 pyangbind
51
52 # Module for iso8601 datetime format
53 isodate
54
55 # Module for TemplatedRequests.robot library
56 jmespath
57
58 # Module for backup-restore support library
59 jsonpatch
60
61 # odltools for extra debugging
62 odltools
63 EOF
64 python -m pip install -r requirements.txt
65 # Todo: Workaround needs pinned version of odltool to the latest because of the
66 # update in the dependency resolver in pip 21.3.
67 # Ref: https://github.com/pypa/pip/issues/9215
68 pip install odltools==0.1.34
69 odltools -V
70 pip freeze