Merge "vpp-csit-verify: use latest verified CSIT branch by default"
[ci-management.git] / jjb / vpp / include-raw-vpp-csit-verify-perf.sh
1 #!/bin/bash
2 set -xeu -o pipefail
3
4 TRIGGER=`echo ${GERRIT_EVENT_COMMENT_TEXT} \
5     | grep -oE 'vpp-verify-perf-(l2|ip4|ip6|lisp|vxlan|vhost|acl|memif|ipsechw)' \
6     | awk '{print toupper($0)}'`
7 export TEST_TAG=${TRIGGER}
8
9 # Get CSIT branch from which to test from
10 # running build-root/scripts/csit-test-branch
11 if [ -x build-root/scripts/csit-test-branch ]; then
12     CSIT_BRANCH=`build-root/scripts/csit-test-branch`;
13 fi
14
15 # check CSIT_BRANCH value
16 if [ "$CSIT_BRANCH" == "" ]; then
17     echo "CSIT_BRANCH not provided => 'latest' will be used"
18     CSIT_BRANCH="latest"
19 fi
20
21 # clone csit
22 git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit
23
24 # if the git clone fails, complain clearly and exit
25 if [ $? != 0 ]; then
26     echo "Failed to run: git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit"
27     exit 1
28 fi
29
30 cp build-root/*.deb csit/
31 if [ -e dpdk/vpp-dpdk-dkms*.deb ]
32 then
33     cp dpdk/vpp-dpdk-dkms*.deb csit/
34 else
35     cp /var/cache/apt/archives/vpp-dpdk-dkms*.deb csit/
36 fi
37
38 cd csit
39
40 if [ "$CSIT_BRANCH" == "latest" ]; then
41     # set required CSIT branch_id based on VPP master branch; by default use 'oper'
42     case "$VPP_BRANCH" in
43         master )
44             BRANCH_ID="oper"
45             ;;
46         stable/1710 )
47             BRANCH_ID="oper-rls1710"
48             ;;
49         stable/1801 )
50             BRANCH_ID="oper-rls1801"
51             ;;
52         * )
53             BRANCH_ID="oper"
54     esac
55
56     # get the latest verified version of the required branch
57     CSIT_BRANCH=$(echo $(git branch -r | grep -E "${BRANCH_ID}-[0-9]+" | tail -n 1))
58
59     if [ "${CSIT_BRANCH}" == "" ]; then
60         echo "No verified CSIT branch found - exiting"
61         exit 1
62     fi
63
64     # remove 'origin/' from the branch name
65     CSIT_BRANCH=$(echo ${CSIT_BRANCH#origin/})
66 fi
67
68 # checkout the required csit branch
69 git checkout ${CSIT_BRANCH}
70
71 if [ $? != 0 ]; then
72     echo "Failed to checkout the required CSIT branch: ${CSIT_BRANCH}"
73     exit 1
74 fi
75
76 # execute csit bootstrap script if it exists
77 if [ ! -e bootstrap-verify-perf.sh ]
78 then
79     echo 'ERROR: No bootstrap-verify-perf.sh found'
80     exit 1
81 fi
82
83 # make sure that bootstrap-verify-perf.sh is executable
84 chmod +x bootstrap-verify-perf.sh
85 # run the script
86 ./bootstrap-verify-perf.sh *.deb
87
88 # vim: ts=4 ts=4 sts=4 et :