Merge "Use Karaf test script that avoids ODLPARENT-139"
[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 docker_id=$(sudo docker ps -qf name=build_rpm_epel)
13
14 sudo docker exec $docker_id /usr/bin/yum -y install curl expect nmap openssh
15
16 sudo docker exec $docker_id /bin/bash $scripts_path/test-rpm-deps.sh
17
18 sudo docker exec $docker_id /bin/bash $scripts_path/install-rpm.sh
19
20 sudo docker exec $docker_id /bin/bash $scripts_path/start-odl.sh
21
22 sudo docker exec $docker_id /bin/bash $scripts_path/test-ports-nofeature.sh
23
24 # Don't install test feature and check REST for Oxygen, ODLPARENT-139 breaks it
25 if [ "$STREAM" == "oxygen" ]; then
26   sudo docker exec $docker_id /usr/bin/expect $scripts_path/test-karaf-oxygensafe.expect
27 else
28   sudo docker exec $docker_id /usr/bin/expect $scripts_path/test-karaf.expect
29   sudo docker exec $docker_id /bin/bash $scripts_path/test-rest-ok.sh
30 fi
31
32 sudo docker exec $docker_id /bin/bash $scripts_path/stop-odl.sh
33
34 sudo docker exec $docker_id /bin/bash $scripts_path/uninstall-rpm.sh
35
36 if [ "$SILO" == "sandbox" ]; then
37   echo "Not uploading RPMs to Nexus because running in sandbox"
38 elif [ "$SILO" == "releng" ]; then
39   RPM_NAME=$(sudo docker exec $docker_id find /root/rpmbuild/RPMS/noarch/ -wholename '*.rpm')
40   SRPM_NAME=$(sudo docker exec $docker_id find /root/rpmbuild/SRPMS/ -wholename '*.rpm')
41   UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
42   mkdir -p "$UPLOAD_FILES_PATH"
43   sudo docker cp $docker_id:$RPM_NAME "$_"
44   sudo docker cp $docker_id:$SRPM_NAME "$_"
45 else
46   echo "Unknown Jenkins silo: $SILO"
47   exit 1
48 fi