summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Sardara <msardara+fdio@cisco.com>2017-03-30 11:37:48 +0200
committerMauro Sardara <msardara+fdio@cisco.com>2017-04-03 14:05:35 +0200
commit71db1850d9b61a4f2d946f71e95276518b34977a (patch)
tree25acc58eae1b7eb923225bf3e34b697aa50898d2
parent2d0c8fd46b3c234ee6dfa127de7741165e4be0a5 (diff)
Trigger daily build of CICN packages
Change-Id: If9653487e726a2cbe87d59958e1a3eff804c2f50 Signed-off-by: Mauro Sardara <msardara+fdio@cisco.com>
-rw-r--r--jjb/cicn/build-package.sh55
-rw-r--r--jjb/cicn/cicn.yaml181
-rw-r--r--jjb/cicn/include-raw-cicn-http-server-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-libccnx-common-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-libccnx-portal-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-libccnx-transport-rta-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-libicnet-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-libparc-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-longbow-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-metis-build.sh4
-rw-r--r--jjb/cicn/include-raw-cicn-viper-build.sh96
-rw-r--r--jjb/cicn/include-raw-cicn-vpp-plugin-build.sh11
12 files changed, 338 insertions, 37 deletions
diff --git a/jjb/cicn/build-package.sh b/jjb/cicn/build-package.sh
index 289e9d85a..48c1dd658 100644
--- a/jjb/cicn/build-package.sh
+++ b/jjb/cicn/build-package.sh
@@ -3,28 +3,56 @@
set -euo pipefail
IFS=$'\n\t'
-update_cmake_repo_trusty() {
- sudo apt-get install -y --allow-unauthenticated software-properties-common
- sudo add-apt-repository --yes ppa:george-edison55/cmake-3.x
-}
+apt_get=/usr/local/apt-get
+
+# Parameters:
+# $1 = Distribution [trusty / CentOS]
+#
+update_cmake_repo() {
+
+ DISTRIBUTION=$1
-update_cmake_repo_centos() {
- sudo cat << EOF > cmake.repo
+ if [ "$DISTRIBUTION" == "trusty" ]; then
+ sudo ${apt_get} install -y --allow-unauthenticated software-properties-common
+ sudo add-apt-repository --yes ppa:george-edison55/cmake-3.x
+ elif [ "$DISTRIBUTION" == "CentOS" ]; then
+ sudo cat << EOF > cmake.repo
[cmake-repo]
name=Repo for cmake3
baseurl=http://mirror.ghettoforge.org/distributions/gf/el/7/plus/x86_64/
enabled=1
gpgcheck=0
EOF
- sudo cat << EOF > jsoncpp.repo
+ sudo cat << EOF > jsoncpp.repo
[jsoncp-repo]
name=Repo for jsoncpp
baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64/
enabled=1
gpgcheck=0
EOF
- sudo mv cmake.repo /etc/yum.repos.d/cmake.repo
- sudo mv jsoncpp.repo /etc/yum.repos.d/jsoncpp.repo
+ sudo mv cmake.repo /etc/yum.repos.d/cmake.repo
+ sudo mv jsoncpp.repo /etc/yum.repos.d/jsoncpp.repo
+ fi
+}
+
+# Parameters:
+# $1 = Distribution codename
+#
+update_qt_repo() {
+ DISTRIBUTION_CODENAME=$1
+
+ if [ "$DISTRIBUTION_CODENAME" != "trusty" ] && [ "$DISTRIBUTION_CODENAME" != "xenial" ]; then
+ echo "No valid distribution specified when calling 'update_qt_repo'. Exiting.."
+ exit -1
+ fi
+
+ sudo ${apt_get} install -y --allow-unauthenticated software-properties-common
+ sudo add-apt-repository --yes ppa:beineri/opt-qt571-$DISTRIBUTION_CODENAME
+
+ wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
+ sudo sh -c "echo 'deb http://archive.getdeb.net/ubuntu $DISTRIBUTION_CODENAME-getdeb apps' >> /etc/apt/sources.list.d/getdeb.list"
+
+ sudo ${apt_get} update
}
setup() {
@@ -41,14 +69,14 @@ setup() {
if [ $DISTRIB_ID == "Ubuntu" ]; then
if [ "$DISTRIB_CODENAME" == "trusty" ]; then
- update_cmake_repo_trusty
+ update_cmake_repo $DISTRIB_CODENAME
fi
echo "deb ${REPO_URL} ./" | sudo tee /etc/apt/sources.list.d/99fd.io.list
- sudo apt-get update
+ sudo ${apt_get} update
elif [ "$DISTRIB_ID" == "CentOS" ]; then
- update_cmake_repo_centos
+ update_cmake_repo $DISTRIB_ID
sudo cat << EOF > fdio-master.repo
[fdio-master]
name=fd.io master branch latest merge
@@ -77,6 +105,7 @@ build_package() {
LIBICNET_DEPS="$LIBCCNX_PORTAL_DEPS libboost-system-dev"
METIS_DEPS="$LIBCCNX_TRANSPORT_RTA_DEPS libccnx-transport-rta"
HTTP_SERVER_DEPS="$LIBICNET_DEPS libicnet libboost-regex-dev libboost-filesystem-dev"
+ VPP_PLUGIN_DEPS="vpp-dev vpp-dpkg-dev"
. /etc/lsb-release
DEB=ON
@@ -122,7 +151,7 @@ build_package() {
setup $DISTRIB_ID $DISTRIB_CODENAME
if [ $DISTRIB_ID == "Ubuntu" ]; then
- echo $BUILD_TOOLS ${!PACKAGE_DEPS} | xargs sudo apt-get install -y --allow-unauthenticated
+ echo $BUILD_TOOLS ${!PACKAGE_DEPS} | xargs sudo ${apt_get} install -y --allow-unauthenticated
elif [ $DISTRIB_ID == "CentOS" ]; then
echo $BUILD_TOOLS_GROUP | xargs sudo yum groupinstall -y --nogpgcheck || true
echo $BUILD_TOOLS_SINGLE | xargs sudo yum install -y --nogpgcheck || true
diff --git a/jjb/cicn/cicn.yaml b/jjb/cicn/cicn.yaml
index 99b5f4371..78ec57f9c 100644
--- a/jjb/cicn/cicn.yaml
+++ b/jjb/cicn/cicn.yaml
@@ -158,6 +158,42 @@
- short
- long
+- project:
+ name: cicn-vpp-plugin
+ jobs:
+ - 'cicn-vpp-plugin-merge-{stream}-{os}'
+ project: 'cicn'
+ os:
+ - ubuntu1404:
+ repo-os-part: 'ubuntu.trusty.main'
+ - ubuntu1604:
+ repo-os-part: 'ubuntu.xenial.main'
+ stream:
+ - master:
+ branch: 'cicn-plugin/master'
+ repo-stream-part: 'cicn.master'
+ type:
+ - short
+ - long
+
+- project:
+ name: cicn-viper
+ jobs:
+ - 'cicn-viper-merge-{stream}-{os}'
+ project: 'cicn'
+ os:
+ - ubuntu1404:
+ repo-os-part: 'ubuntu.trusty.main'
+ - ubuntu1604:
+ repo-os-part: 'ubuntu.xenial.main'
+ stream:
+ - master:
+ branch: 'viper/master'
+ repo-stream-part: 'cicn.master'
+ type:
+ - short
+ - long
+
- job-template:
name: 'cicn-longbow-merge-{stream}-{os}'
@@ -198,6 +234,7 @@
- gerrit-trigger-patch-merged:
name: '{project}'
branch: '{branch}'
+ - timed: '@daily'
builders:
- maven-target:
@@ -737,4 +774,148 @@
only-if-success: true
default-excludes: false
- fdio-infra-shiplogs:
+ maven-version: 'mvn33-new'
+
+- job-template:
+ name: 'cicn-vpp-plugin-merge-{stream}-{os}'
+
+ project-type: freestyle
+ node: '{os}-basebuild-4c-4g'
+
+ 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-new'
+ - maven-exec:
+ maven-version: 'mvn33-new'
+ - repo-name-parameter:
+ repo-name: '{repo-stream-part}.{repo-os-part}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: 'jenkins-gerrit-credentials'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - fdio-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ name: '{project}'
+ branch: '{branch}'
+ - timed: '@daily'
+
+ builders:
+ - maven-target:
+ maven-version: 'mvn33-new'
+ goals: '--version'
+ settings: 'cicn-settings'
+ settings-type: cfp
+ global-settings: 'global-settings'
+ global-settings-type: cfp
+ - shell:
+ !include-raw-escape:
+ - build-package.sh
+ - include-raw-cicn-http-server-build.sh
+ - provide-maven-settings:
+ settings-file: 'cicn-vpp-plugin-settings'
+ global-settings-file: 'global-settings'
+ - shell:
+ !include-raw-escape:
+ - ../scripts/maven_push_functions.sh
+ - include-raw-cicn-maven-push.sh
+ publishers:
+ - archive:
+ artifacts: 'build/*.rpm,build/*.deb'
+ allow-empty: 'true'
+ fingerprint: false
+ only-if-success: true
+ default-excludes: false
+ - fdio-infra-shiplogs:
+ maven-version: 'mvn33-new'
+
+- job-template:
+ name: 'cicn-viper-merge-{stream}-{os}'
+
+ project-type: freestyle
+ node: '{os}-basebuild-4c-4g'
+
+ 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-new'
+ - maven-exec:
+ maven-version: 'mvn33-new'
+ - repo-name-parameter:
+ repo-name: '{repo-stream-part}.{repo-os-part}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: 'jenkins-gerrit-credentials'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - fdio-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ name: '{project}'
+ branch: '{branch}'
+ - reverse:
+ jobs: 'cicn-libicnet-merge-{stream}-{os}'
+ result: 'failure'
+
+ builders:
+ - maven-target:
+ maven-version: 'mvn33-new'
+ goals: '--version'
+ settings: 'cicn-settings'
+ settings-type: cfp
+ global-settings: 'global-settings'
+ global-settings-type: cfp
+ - shell:
+ !include-raw-escape:
+ - build-package.sh
+ - include-raw-cicn-viper-build.sh
+ - provide-maven-settings:
+ settings-file: 'cicn-viper-settings'
+ global-settings-file: 'global-settings'
+ - shell:
+ !include-raw-escape:
+ - ../scripts/maven_push_functions.sh
+ - include-raw-cicn-maven-push.sh
+ publishers:
+ - archive:
+ artifacts: 'build/*.rpm,build/*.deb,libdash/build/*.rpm,libdash/build/*.deb'
+ allow-empty: 'true'
+ fingerprint: false
+ only-if-success: true
+ default-excludes: false
+ - fdio-infra-shiplogs:
maven-version: 'mvn33-new' \ No newline at end of file
diff --git a/jjb/cicn/include-raw-cicn-http-server-build.sh b/jjb/cicn/include-raw-cicn-http-server-build.sh
index 872b43d4f..873889fda 100644
--- a/jjb/cicn/include-raw-cicn-http-server-build.sh
+++ b/jjb/cicn/include-raw-cicn-http-server-build.sh
@@ -3,8 +3,6 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="HTTP_SERVER"
PACKAGE_DEPS="HTTP_SERVER_DEPS"
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-libccnx-common-build.sh b/jjb/cicn/include-raw-cicn-libccnx-common-build.sh
index 02dcee7e0..195b5fce2 100644
--- a/jjb/cicn/include-raw-cicn-libccnx-common-build.sh
+++ b/jjb/cicn/include-raw-cicn-libccnx-common-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LIBCCNX_COMMON"
PACKAGE_DEPS="LIBCCNX_COMMON_DEPS"
cd libccnx-common
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-libccnx-portal-build.sh b/jjb/cicn/include-raw-cicn-libccnx-portal-build.sh
index ad840308e..6bd210a57 100644
--- a/jjb/cicn/include-raw-cicn-libccnx-portal-build.sh
+++ b/jjb/cicn/include-raw-cicn-libccnx-portal-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LIBCCNX_PORTAL"
PACKAGE_DEPS="LIBCCNX_PORTAL_DEPS"
cd libccnx-portal
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-libccnx-transport-rta-build.sh b/jjb/cicn/include-raw-cicn-libccnx-transport-rta-build.sh
index 7786eba62..eaa9be9c5 100644
--- a/jjb/cicn/include-raw-cicn-libccnx-transport-rta-build.sh
+++ b/jjb/cicn/include-raw-cicn-libccnx-transport-rta-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LIBCCNX_TRANSPORT_RTA"
PACKAGE_DEPS="LIBCCNX_TRANSPORT_RTA_DEPS"
cd libccnx-transport-rta
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-libicnet-build.sh b/jjb/cicn/include-raw-cicn-libicnet-build.sh
index c707a6ca1..3b752e7a2 100644
--- a/jjb/cicn/include-raw-cicn-libicnet-build.sh
+++ b/jjb/cicn/include-raw-cicn-libicnet-build.sh
@@ -3,8 +3,6 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LIBICNET"
PACKAGE_DEPS="LIBICNET_DEPS"
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-libparc-build.sh b/jjb/cicn/include-raw-cicn-libparc-build.sh
index cfbc065c9..e77a3bcf4 100644
--- a/jjb/cicn/include-raw-cicn-libparc-build.sh
+++ b/jjb/cicn/include-raw-cicn-libparc-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LIBPARC"
PACKAGE_DEPS="LIBPARC_DEPS"
cd libparc
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-longbow-build.sh b/jjb/cicn/include-raw-cicn-longbow-build.sh
index c2b9e8d69..b44f30606 100644
--- a/jjb/cicn/include-raw-cicn-longbow-build.sh
+++ b/jjb/cicn/include-raw-cicn-longbow-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="LONGBOW"
PACKAGE_DEPS="LONGBOW_DEPS"
cd longbow
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-metis-build.sh b/jjb/cicn/include-raw-cicn-metis-build.sh
index 77d375491..a8bd67a5f 100644
--- a/jjb/cicn/include-raw-cicn-metis-build.sh
+++ b/jjb/cicn/include-raw-cicn-metis-build.sh
@@ -3,9 +3,7 @@
set -euo pipefail
IFS=$'\n\t'
-source ./build-package.sh
-
PACKAGE_NAME="METIS"
PACKAGE_DEPS="METIS_DEPS"
cd metis
-build_package $PACKAGE_NAME $PACKAGE_DEPS \ No newline at end of file
+build_package $PACKAGE_NAME $PACKAGE_DEPS
diff --git a/jjb/cicn/include-raw-cicn-viper-build.sh b/jjb/cicn/include-raw-cicn-viper-build.sh
new file mode 100644
index 000000000..53eb70877
--- /dev/null
+++ b/jjb/cicn/include-raw-cicn-viper-build.sh
@@ -0,0 +1,96 @@
+#!/bin/bash
+# basic build script example
+set -euo pipefail
+IFS=$'\n\t'
+
+apt_get=/usr/local/apt-get
+
+PACKAGE_NAME="VIPER"
+VIPER_DEPS_UBUNTU="zlib1g-dev git-core build-essential libxml2-dev libcurl4-openssl-dev \
+ qt57base qt57svg qt57charts-no-lgpl qt57multimedia libqtav-dev libicnet \
+ libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libqml-module-qtav \
+ qt57quickcontrols qt57quickcontrols2 libxml2-dev"
+
+BUILD_TOOLS="build-essential cmake"
+
+ARCHITECTURE=`uname -m`
+
+# Figure out what system we are running on
+if [ -f /etc/lsb-release ];then
+
+ . /etc/lsb-release
+ DEB=ON
+ RPM=OFF
+
+ if [ "$ARCHITECTURE" == "x86_64" ]; then
+ ARCHITECTURE="amd64"
+ fi
+
+elif [ -f /etc/redhat-release ];then
+
+ sudo yum install -y redhat-lsb
+ DISTRIB_ID=`lsb_release -si`
+ DISTRIB_RELEASE=`lsb_release -sr`
+ DISTRIB_CODENAME=`lsb_release -sc`
+ DISTRIB_DESCRIPTION=`lsb_release -sd`
+
+ DEB=OFF
+ RPM=ON
+else
+ echo "ERROR: System configuration not recognized. Build failed"
+ exit -1
+fi
+
+echo ARCHITECTURE: $ARCHITECTURE
+echo DISTRIB_ID: $DISTRIB_ID
+echo DISTRIB_RELEASE: $DISTRIB_RELEASE
+echo DISTRIB_CODENAME: $DISTRIB_CODENAME
+echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
+
+setup $DISTRIB_ID $DISTRIB_CODENAME
+
+# Install deps
+
+if [ $DISTRIB_ID == "Ubuntu" ]; then
+ update_qt_repo $DISTRIB_CODENAME
+ echo $BUILD_TOOLS $VIPER_DEPS_UBUNTU | xargs sudo ${apt_get} install -y --allow-unauthenticated
+else
+ echo "This package is currently supported only for ubuntu. Exiting.."
+ exit -1
+fi
+
+# Create links
+
+sudo ln -sf /usr/include/x86_64-linux-gnu/qt5/QtAV /opt/qt57/include/QtAV
+sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/av.prf /opt/qt57/mkspecs/features/av.prf
+sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/avwidgets.prf /opt/qt57/mkspecs/features/avwidgets.prf
+sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_avwidgets.pri /opt/qt57/mkspecs/modules/qt_lib_avwidgets.pri
+sudo ln -sf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_av.pri /opt/qt57/mkspecs/modules/qt_lib_av.pri
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAV.prl /opt/qt57/lib/libQtAV.prl
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAVWidgets.prl /opt/qt57/lib/libQtAVWidgets.prl
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAVWidgets.so /opt/qt57/lib/libQt5AVWidgets.so
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQt5AV.so /opt/qt57/lib/libQt5AV.so
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQtAV.so /opt/qt57/lib/libQtAV.so
+sudo ln -sf /usr/lib/x86_64-linux-gnu/libQt5AVWidgets.so /opt/qt57/lib/libQtAVWidgets.so
+
+# Compile libdash
+
+
+build() {
+ mkdir -p build
+ cd build
+ rm -rf *
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DRPM_PACKAGE=$RPM -DDEB_PACKAGE=$DEB -DDISTRIBUTION=$DISTRIB_CODENAME -DARCHITECTURE=$ARCHITECTURE ..
+ make
+}
+
+# Build libdash
+pushd libdash
+build
+make package
+sudo make install
+popd
+
+# Build viper
+build
+make package \ No newline at end of file
diff --git a/jjb/cicn/include-raw-cicn-vpp-plugin-build.sh b/jjb/cicn/include-raw-cicn-vpp-plugin-build.sh
new file mode 100644
index 000000000..c338c2cf6
--- /dev/null
+++ b/jjb/cicn/include-raw-cicn-vpp-plugin-build.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# basic build script example
+set -euo pipefail
+IFS=$'\n\t'
+
+PACKAGE_NAME="VPP_PLUGIN"
+PACKAGE_DEPS="VPP_PLUGIN_DEPS"
+
+cd cicn-plugin
+
+build_package $PACKAGE_NAME $PACKAGE_DEPS