Merge "Move openflowplugin Sonar scan to Sonarcloud"
[releng/builder.git] / jjb / packaging / test-rpm-docker.sh
1 #!/bin/bash
2
3 # Options:
4 #   -x: Echo commands
5 #   -e: Fail on errors
6 #   -o pipefail: Fail on errors in scripts this calls, give stacktrace
7 set -ex -o pipefail
8
9 scripts_path=/builder/jjb/packaging
10
11 # A docker container must have been created by the build script
12 if [ "$DISTRO" == "epel-7" ]; then
13   docker_id=$(sudo docker ps -qf name=build_rpm_epel)
14   sudo docker exec "$docker_id" /usr/bin/yum -y install curl expect nmap openssh
15 elif [ "$DISTRO" == "opensuse-42" ]; then
16   docker_id=$(sudo docker ps -qf name=build_rpm_suse)
17   sudo docker exec "$docker_id" /usr/bin/zypper -n install curl expect nmap openssh
18 fi
19
20 sudo docker exec "$docker_id" /bin/bash $scripts_path/test-rpm-deps.sh
21
22 sudo docker exec "$docker_id" /bin/bash $scripts_path/install-rpm.sh
23
24 sudo docker exec "$docker_id" /bin/bash $scripts_path/start-odl.sh
25
26 sudo docker exec "$docker_id" /bin/bash $scripts_path/test-ports-nofeature.sh
27
28 # Don't install test feature and check REST for Oxygen, ODLPARENT-139 breaks it
29 if [ "$STREAM" == "sodium" ]; then
30   sudo docker exec "$docker_id" /usr/bin/expect $scripts_path/test-karaf-oxygensafe.expect
31 else
32   sudo docker exec "$docker_id" /usr/bin/expect $scripts_path/test-karaf.expect
33   sudo docker exec "$docker_id" /bin/bash $scripts_path/test-rest-ok.sh
34 fi
35
36 sudo docker exec "$docker_id" /bin/bash $scripts_path/stop-odl.sh
37
38 sudo docker exec "$docker_id" /bin/bash $scripts_path/uninstall-rpm.sh
39
40 if [ "$SILO" == "sandbox" ]; then
41   echo "Not uploading RPMs to Nexus because running in sandbox"
42 elif [ "$SILO" == "releng" ]; then
43   RPM_NAME=$(sudo docker exec "$docker_id" find /root/rpmbuild/RPMS/noarch/ -wholename '*.rpm')
44   SRPM_NAME=$(sudo docker exec "$docker_id" find /root/rpmbuild/SRPMS/ -wholename '*.rpm')
45   UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
46   mkdir -p "$UPLOAD_FILES_PATH"
47   sudo docker cp "$docker_id:$RPM_NAME" "$_"
48   sudo docker cp "$docker_id:$SRPM_NAME" "$_"
49 else
50   echo "Unknown Jenkins silo: $SILO"
51   exit 1
52 fi