Feat: Introduce robot framework under Python3
[ci-management.git] / jjb / integration / include-raw-integration-install-robotframework-py3.sh
1 #!/bin/bash -l
2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2022 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 set -eu pipefail
14
15 # shellcheck disable=SC1090
16 . ~/lf-env.sh
17
18 # Create a virtual environment for robot tests and make sure setuptools & wheel
19 # are up-to-date in addition to pip
20 lf-activate-venv --python python3 --venv-file "${WORKSPACE}/.robot3_venv" \
21     setuptools \
22     wheel
23
24 # Save the virtual environment in ROBOT_VENV
25 ROBOT3_VENV="$(cat "${WORKSPACE}/.robot3_venv")"
26 echo ROBOT3_VENV="${ROBOT3_VENV}" >> "${WORKSPACE}/env.properties"
27
28 set -exu
29
30 echo "Installing Python Requirements"
31 cat << 'EOF' > "requirements.txt"
32 docker-py
33 ipaddr
34 netaddr
35 netifaces
36 pyhocon
37 requests
38 robotframework
39 robotframework-httplibrary
40 robotframework-requests==0.9.3
41 robotframework-selenium2library
42 robotframework-sshlibrary==3.8.0
43 scapy
44 # Module jsonpath is needed by current AAA idmlite suite.
45 jsonpath-rw
46 # Modules for longevity framework robot library
47 elasticsearch
48 elasticsearch-dsl
49 # Module for pyangbind used by lispflowmapping project
50 pyangbind
51 # Module for iso8601 datetime format
52 isodate
53 # Module for TemplatedRequests.robot library
54 jmespath
55 # Module for backup-restore support library
56 jsonpatch
57 EOF
58
59 python -m pip install -r requirements.txt
60 pip freeze
61 python -m robot.run --version || :