summaryrefslogtreecommitdiffstats
path: root/setup.sh
diff options
context:
space:
mode:
authorPuzikov Dmitry <dmitry.puzikov@tieto.com>2019-02-15 16:58:35 +0100
committerPuzikov Dmitry <dmitry.puzikov@tieto.com>2019-02-20 16:33:45 +0100
commit38bcba6ac87e6cee86d13f7c418c105ba7c8b1e4 (patch)
treeda4a826ab58b191ffc34f1709ecdea0b51a07dad /setup.sh
parenta4617f1cea2cde297286e9068f11d0e5d4a56bd6 (diff)
Make image arm64-compatible
Modify Dockerfile to allow image building and running on arm64 platform Issue-ID: INT-874 Change-Id: I7f35c56b94d777fcf31bc5edd2dcef306a72175a Signed-off-by: Puzikov Dmitry <dmitry.puzikov@tieto.com>
Diffstat (limited to 'setup.sh')
-rwxr-xr-xsetup.sh106
1 files changed, 69 insertions, 37 deletions
diff --git a/setup.sh b/setup.sh
index 1c326a5f..50e344ab 100755
--- a/setup.sh
+++ b/setup.sh
@@ -13,12 +13,25 @@ exec 2> >(tee -a ${LOG_FILE} >&2)
# get the path
path=$(pwd)
-
-pip install --no-cache-dir --target="$path/robot/library" 'selenium<=3.0.0' 'requests==2.11.1' 'robotframework-selenium2library==1.8.0' \
-'robotframework-databaselibrary==0.8.1' 'robotframework-extendedselenium2library==0.9.1' 'robotframework-requests==0.5.0' \
+pip install \
+--no-cache-dir \
+--exists-action s \
+--target="$path/robot/library" \
+'selenium<=3.0.0' \
+'requests==2.11.1' \
+'robotframework-selenium2library==1.8.0' \
+'robotframework-databaselibrary==0.8.1' \
+'robotframework-extendedselenium2library==0.9.1' \
+'robotframework-requests==0.5.0' \
'robotframework-sshlibrary==2.1.2' \
-'robotframework-sudslibrary==0.8' 'robotframework-ftplibrary==1.3' 'robotframework-rammbock==0.4.0.1' \
-'deepdiff==2.5.1' 'dnspython==1.15.0' 'robotframework-httplibrary==0.4.2' 'robotframework-archivelibrary==0.3.2' 'PyYAML==3.12' \
+'robotframework-sudslibrary==0.8' \
+'robotframework-ftplibrary==1.3' \
+'robotframework-rammbock==0.4.0.1' \
+'deepdiff==2.5.1' \
+'dnspython==1.15.0' \
+'robotframework-httplibrary==0.4.2' \
+'robotframework-archivelibrary==0.3.2' \
+'PyYAML==3.12' \
'robotframework-kafkalibrary==0.0.2'
@@ -39,7 +52,12 @@ else
cd python-testing-utils
fi
fi
-pip install --no-cache-dir --upgrade --target="$path/robot/library" .
+
+pip install \
+--no-cache-dir \
+--upgrade \
+--exists-action s \
+--target="$path/robot/library" .
if [ -d $path/testsuite/heatbridge ]
@@ -58,47 +76,63 @@ else
cd heatbridge
fi
fi
-pip install --no-cache-dir --upgrade --target="$path/robot/library" ./heatbridge
+
+pip install \
+--no-cache-dir \
+--upgrade \
+--exists-action s \
+--target="$path/robot/library" \
+./heatbridge
# NOTE: Patch to incude explicit install of paramiko to 2.0.2 to work with sshlibrary 2.1.2
# This should be removed on new release of paramiko (2.1.2) or sshlibrary
# https://github.com/robotframework/SSHLibrary/issues/157
-pip install --no-cache-dir --target="$path/robot/library" -U 'paramiko==2.0.2'
+pip install \
+--no-cache-dir \
+--target="$path/robot/library" \
+-U 'paramiko==2.0.2'
# Go back to execution folder
cd $path
-
-#
-# Get the appropriate chromedriver. Default to linux64
-#
-CHROMEDRIVER_URL=http://chromedriver.storage.googleapis.com/2.43
-CHROMEDRIVER_ZIP=chromedriver_linux64.zip
-
-# Handle mac and windows
-OS=`uname -s`
-case $OS in
- MINGW*_NT*)
- CHROMEDRIVER_ZIP=chromedriver_win32.zip
- ;;
- Darwin*)
- CHROMEDRIVER_ZIP=chromedriver_mac64.zip
- ;;
- *) echo "Defaulting to Linux 64" ;;
-esac
-
-if [ $CHROMEDRIVER_ZIP == 'chromedriver_linux64.zip' ]
+# if the script is running during the image build skip the rest of it
+# as required software is installed already.
+if $BUILDTIME
then
- wget -O chromedriver.zip $CHROMEDRIVER_URL/$CHROMEDRIVER_ZIP
- unzip chromedriver.zip -d /usr/local/bin
-else
- curl $CHROMEDRIVER_URL/$CHROMEDRIVER_ZIP -o chromedriver.zip
- unzip chromedriver.zip
+ echo "Skipping desktop steps, building container image..."
+else
+ #
+ # Get the appropriate chromedriver. Default to linux64
+ #
+ CHROMEDRIVER_URL=http://chromedriver.storage.googleapis.com/2.43
+ CHROMEDRIVER_ZIP=chromedriver_linux64.zip
+ CHROMEDRIVER_TARGET=chromedriver.zip
+
+ # Handle mac and windows
+ OS=`uname -s`
+ case $OS in
+ MINGW*_NT*)
+ CHROMEDRIVER_ZIP=chromedriver_win32.zip
+ ;;
+ Darwin*)
+ CHROMEDRIVER_ZIP=chromedriver_mac64.zip
+ ;;
+ *) echo "Defaulting to Linux 64" ;;
+ esac
+
+ if [ $CHROMEDRIVER_ZIP == 'chromedriver_linux64.zip' ]
+ then
+ curl $CHROMEDRIVER_URL/$CHROMEDRIVER_ZIP -o $CHROMEDRIVER_TARGET
+ unzip chromedriver.zip -d /usr/local/bin
+ else
+ curl $CHROMEDRIVER_URL/$CHROMEDRIVER_ZIP -o $CHROMEDRIVER_TARGET
+ unzip $CHROMEDRIVER_TARGET
+ fi
+ rm -rf $CHROMEDRIVER_TARGET
fi
-
#
# Install kafkacat : https://github.com/edenhill/kafkacat
#
@@ -109,8 +143,6 @@ case $OS in
Linux)
apt-get -y install kafkacat
esac
-
-
#
# Install protobuf
#
@@ -120,4 +152,4 @@ case $OS in
brew install protobuf ;;
Linux)
apt-get -y install protobuf-compiler
-esac
+esac \ No newline at end of file