vpp-csit-verify: use latest verified CSIT branch by default 18/10518/2
authorJan Gelety <[email protected]>
Tue, 13 Feb 2018 11:26:16 +0000 (12:26 +0100)
committerJan Gelety <[email protected]>
Tue, 13 Feb 2018 13:05:52 +0000 (13:05 +0000)
Jira: CSIT-875

To avoid updating verified CSIT branch name in VPP code base
the latest verified CSIT branch will be used by default.

VPP developer will have the possibility to define CSIT branch used
to verify his patch set by putting CSIT branch name, e.g. oper-180122,
to file

build-root/scripts/csit-test-branch

where the default value 'latest' will be stored.

Change-Id: I5657bd833efe4ac98568a0c9ac3cd858af5e23e8
Signed-off-by: Jan Gelety <[email protected]>
jjb/vpp/include-raw-vpp-csit-functional.sh
jjb/vpp/include-raw-vpp-csit-verify-perf.sh
jjb/vpp/vpp.yaml

index 38ef7e0..38863fd 100644 (file)
@@ -7,14 +7,19 @@ if [ -x build-root/scripts/csit-test-branch ]; then
     CSIT_BRANCH=`build-root/scripts/csit-test-branch`;
 fi
 
-# Clone csit and start tests
-git clone https://gerrit.fd.io/r/csit --branch ${CSIT_BRANCH:-csit-verified}
+# check CSIT_BRANCH value
+if [ "$CSIT_BRANCH" == "" ]; then
+    echo "CSIT_BRANCH not provided => 'latest' will be used"
+    CSIT_BRANCH="latest"
+fi
+
+# clone csit
+git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit
 
-# If the git clone fails, complain clearly and exit
+# if the git clone fails, complain clearly and exit
 if [ $? != 0 ]; then
-    echo "Failed to run: git clone https://gerrit.fd.io/r/csit --branch ${CSIT_BRANCH:-csit-verified}"
-    echo "No such branch ${CSIT_BRANCH:-csit-verified} in https://gerrit.fd.io/r/csit"
-    exit
+    echo "Failed to run: git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit"
+    exit 1
 fi
 
 cp build-root/*.deb csit/
@@ -26,6 +31,43 @@ else
 fi
 
 cd csit
+
+if [ "$CSIT_BRANCH" == "latest" ]; then
+    # set required CSIT branch_id based on VPP master branch; by default use 'oper'
+    case "$VPP_BRANCH" in
+        master )
+            BRANCH_ID="oper"
+            ;;
+        stable/1710 )
+            BRANCH_ID="oper-rls1710"
+            ;;
+        stable/1801 )
+            BRANCH_ID="oper-rls1801"
+            ;;
+        * )
+            BRANCH_ID="oper"
+    esac
+
+    # get the latest verified version of the required branch
+    CSIT_BRANCH=$(echo $(git branch -r | grep -E "${BRANCH_ID}-[0-9]+" | tail -n 1))
+
+    if [ "${CSIT_BRANCH}" == "" ]; then
+        echo "No verified CSIT branch found - exiting"
+        exit 1
+    fi
+
+    # remove 'origin/' from the branch name
+    CSIT_BRANCH=$(echo ${CSIT_BRANCH#origin/})
+fi
+
+# checkout the required csit branch
+git checkout ${CSIT_BRANCH}
+
+if [ $? != 0 ]; then
+    echo "Failed to checkout the required CSIT branch: ${CSIT_BRANCH}"
+    exit 1
+fi
+
 # execute csit bootstrap script if it exists
 if [ -e bootstrap.sh ]
 then
index aa59792..e2e88d8 100644 (file)
@@ -12,14 +12,19 @@ if [ -x build-root/scripts/csit-test-branch ]; then
     CSIT_BRANCH=`build-root/scripts/csit-test-branch`;
 fi
 
-# Clone csit and start tests
-git clone --depth 1 https://gerrit.fd.io/r/csit --branch ${CSIT_BRANCH:-csit-verified}
+# check CSIT_BRANCH value
+if [ "$CSIT_BRANCH" == "" ]; then
+    echo "CSIT_BRANCH not provided => 'latest' will be used"
+    CSIT_BRANCH="latest"
+fi
+
+# clone csit
+git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit
 
-# If the git clone fails, complain clearly and exit
+# if the git clone fails, complain clearly and exit
 if [ $? != 0 ]; then
-    echo "Failed to run: git clone https://gerrit.fd.io/r/csit --branch ${CSIT_BRANCH:-csit-verified}"
-    echo "No such branch ${CSIT_BRANCH:-csit-verified} in https://gerrit.fd.io/r/csit"
-    exit
+    echo "Failed to run: git clone --depth 1 --no-single-branch https://gerrit.fd.io/r/csit"
+    exit 1
 fi
 
 cp build-root/*.deb csit/
@@ -31,6 +36,43 @@ else
 fi
 
 cd csit
+
+if [ "$CSIT_BRANCH" == "latest" ]; then
+    # set required CSIT branch_id based on VPP master branch; by default use 'oper'
+    case "$VPP_BRANCH" in
+        master )
+            BRANCH_ID="oper"
+            ;;
+        stable/1710 )
+            BRANCH_ID="oper-rls1710"
+            ;;
+        stable/1801 )
+            BRANCH_ID="oper-rls1801"
+            ;;
+        * )
+            BRANCH_ID="oper"
+    esac
+
+    # get the latest verified version of the required branch
+    CSIT_BRANCH=$(echo $(git branch -r | grep -E "${BRANCH_ID}-[0-9]+" | tail -n 1))
+
+    if [ "${CSIT_BRANCH}" == "" ]; then
+        echo "No verified CSIT branch found - exiting"
+        exit 1
+    fi
+
+    # remove 'origin/' from the branch name
+    CSIT_BRANCH=$(echo ${CSIT_BRANCH#origin/})
+fi
+
+# checkout the required csit branch
+git checkout ${CSIT_BRANCH}
+
+if [ $? != 0 ]; then
+    echo "Failed to checkout the required CSIT branch: ${CSIT_BRANCH}"
+    exit 1
+fi
+
 # execute csit bootstrap script if it exists
 if [ ! -e bootstrap-verify-perf.sh ]
 then
index 28a688b..ef261e4 100644 (file)
             branch: '{branch}'
 
     builders:
+        - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
         - shell:
             !include-raw-escape:
                 - include-raw-vpp-checkstyle.sh
                 notbuilt: false
 
     builders:
+        - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
         - shell:
             !include-raw-escape:
                 - ../scripts/setup_vpp_dpdk_dev_env.sh