Added vpp-lite verify and merge jobs. 50/1850/8
authorEd Warnicke <eaw@cisco.com>
Fri, 8 Jul 2016 14:58:09 +0000 (09:58 -0500)
committerEd Warnicke <hagbard@gmail.com>
Fri, 8 Jul 2016 15:06:08 +0000 (15:06 +0000)
* Added a vpp-lite.yaml

Change-Id: I9aa16968dac9067a92bc272f1cfa4315c0eec4ad
Signed-off-by: Ed Warnicke <eaw@cisco.com>
jjb/vpp/include-raw-vpp-lite-build.sh [new file with mode: 0644]
jjb/vpp/vpp-lite.yaml [new file with mode: 0644]

diff --git a/jjb/vpp/include-raw-vpp-lite-build.sh b/jjb/vpp/include-raw-vpp-lite-build.sh
new file mode 100644 (file)
index 0000000..eca0761
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+# basic build script example
+set -xe -o pipefail
+# do nothing but print the current slave hostname
+hostname
+export CCACHE_DIR=/tmp/ccache
+if [ -d $CCACHE_DIR ];then
+    echo $CCACHE_DIR exists
+    du -sk $CCACHE_DIR
+else
+    echo $CCACHE_DIR does not exist.  This must be a new slave.
+fi
+
+echo "cat /etc/bootstrap.sha"
+if [ -f /etc/bootstrap.sha ];then
+    cat /etc/bootstrap.sha
+else
+    echo "Cannot find cat /etc/bootstrap.sha"
+fi
+
+echo "cat /etc/bootstrap-functions.sha"
+if [ -f /etc/bootstrap-functions.sha ];then
+    cat /etc/bootstrap-functions.sha
+else
+    echo "Cannot find cat /etc/bootstrap-functions.sha"
+fi
+
+echo "sha1sum of this script: ${0}"
+sha1sum $0
+
+# Check to make sure the patch doesn't need to be rebased
+# Since there was a discontinuity, patches with a
+# parent before 30d41ff need to be rebased
+
+(git log --oneline | grep 30d41ff > /dev/null 2>&1);if [ $? != 0 ]; then REBASE_NEEDED="1";fi
+(git log --oneline | grep fb0815d > /dev/null 2>&1);if [ $? == 0 ]; then VPP_REPO="1";fi
+echo "REBASE_NEEDED: ${REBASE_NEEDED}"
+echo "VPP_REPO: ${VPP_REPO}"
+
+if [ "x${VPP_REPO}" == "x1" ]; then
+    if [ "x${REBASE_NEEDED}" == "x1" ]; then
+        echo "This patch to vpp is based on an old point in the tree that is likely"
+        echo "to fail verify."
+        echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO"
+        exit 1
+    fi
+fi
+
+# Make sure we are starting on java-7.  This catches bugs in the
+# vpp build system that can occur on Ubuntu 14.04 when a user may
+# have both java-7 and java-8 installed.
+if [ ${OS} == ubuntu1404 ];then
+    sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64
+fi
+
+make UNATTENDED=yes install-dep
+make PLATFORM=vpp_lite build-release
+
+echo "*******************************************************************"
+echo "* VPP BUILD SUCCESSFULLY COMPLETED"
+echo "*******************************************************************"
diff --git a/jjb/vpp/vpp-lite.yaml b/jjb/vpp/vpp-lite.yaml
new file mode 100644 (file)
index 0000000..5c11bdc
--- /dev/null
@@ -0,0 +1,179 @@
+- project:
+    name: vpp-lite
+    jobs:
+        - 'vpp-lite-verify-{stream}-{os}'
+        - 'vpp-lite-merge-{stream}-{os}'
+        - 'vpp-lite-verify-image-{stream}-{os}'
+
+    project: 'vpp'
+    os:
+        - ubuntu1404:
+            repo-os-part: 'ubuntu.trusty.main'
+        - ubuntu1604:
+            repo-os-part: 'ubuntu.xenial.main'
+        - centos7:
+            repo-os-part: 'centos7'
+    stream:
+        - master:
+            branch: 'master'
+            repo-stream-part: 'master'
+        - test:
+            branch: 'stable/test'
+            repo-stream-part: 'stable.test'
+        - '1606':
+            branch: 'stable/1606'
+            repo-stream-part: 'stable.1606'
+    type:
+        - short
+        - long
+
+- job-template:
+    name: 'vpp-lite-verify-{stream}-{os}'
+
+    project-type: freestyle
+    node: 'verify-{os}'
+    concurrent: true
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: '{branch}'
+        - os-parameter:
+            os: '{os}'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - gerrit-trigger-patch-submitted:
+            name: '{project}'
+            branch: '{branch}'
+
+    builders:
+        - shell:
+            !include-raw-escape: 'include-raw-vpp-lite-build.sh'
+
+- job-template:
+    name: 'vpp-lite-verify-image-{stream}-{os}'
+
+    project-type: freestyle
+    node: 'verify-image-{os}'
+    concurrent: true
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: '{branch}'
+        - os-parameter:
+            os: '{os}'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            server-name: 'Primary'
+            trigger-on:
+                - comment-added-contains-event:
+                    comment-contains-value: 'verify-images'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+            skip-vote:
+                successful: true
+                failed: true
+                unstable: true
+                notbuilt: true
+
+    builders:
+        - shell:
+            !include-raw-escape: 'include-raw-vpp-lite-build.sh'
+
+- job-template:
+    name: 'vpp-lite-merge-{stream}-{os}'
+
+    project-type: freestyle
+    node: 'merge-{os}'
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: '{branch}'
+        - os-parameter:
+            os: '{os}'
+        - maven-project-parameter:
+            maven: '{mvn33}'
+        - repo-name-parameter:
+            repo-name: '{repo-stream-part}.{repo-os-part}'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - gerrit-trigger-patch-merged:
+            name: '{project}'
+            branch: '{branch}'
+
+    builders:
+        - shell:
+            !include-raw-escape: 'include-raw-vpp-lite-build.sh'
+        - maven-target:
+            maven-version: '{mvn33}'
+            goals: '--version'
+            settings: 'vpp-settings'
+            settings-type: cfp
+            global-settings: 'global-settings'
+            global-settings-type: cfp
+        - provide-maven-settings:
+            settings-file: 'vpp-settings'
+            global-settings-file: 'global-settings'
+        - shell:
+            !include-raw-escape: include-raw-vpp-maven-push.sh
\ No newline at end of file