ci: Add Jenkins build and testing scripts
Change-Id: Ifaa9dc8ba7c5185c0d20ea3a3784638cbb9efbaa
diff --git a/.jenkins.d/01-dependencies.sh b/.jenkins.d/01-dependencies.sh
new file mode 100755
index 0000000..01ddadb
--- /dev/null
+++ b/.jenkins.d/01-dependencies.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -x
+
+sudo apt-get -y install liblog4cxx10-dev protobuf-compiler libprotobuf-dev pkg-config || true
+sudo brew update || true
+brew install log4cxx protobuf pkg-config || true
+
diff --git a/.jenkins.d/10-ndn-cxx.sh b/.jenkins.d/10-ndn-cxx.sh
new file mode 100755
index 0000000..465e291
--- /dev/null
+++ b/.jenkins.d/10-ndn-cxx.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+set -x
+
+cd /tmp
+BUILD="no"
+if [ ! -d ndn-cxx ]; then
+ git clone --depth 1 git://github.com/named-data/ndn-cxx
+ cd ndn-cxx
+ BUILD="yes"
+else
+ cd ndn-cxx
+ INSTALLED_VERSION=`git rev-parse HEAD || echo NONE`
+ sudo rm -Rf latest-version
+ git clone --depth 1 git://github.com/named-data/ndn-cxx latest-version
+ cd latest-version
+ LATEST_VERSION=`git rev-parse HEAD || echo UNKNOWN`
+ cd ..
+ rm -Rf latest-version
+ if [ "$INSTALLED_VERSION" != "$LATEST_VERSION" ]; then
+ cd ..
+ sudo rm -Rf ndn-cxx
+ git clone --depth 1 git://github.com/named-data/ndn-cxx
+ cd ndn-cxx
+ BUILD="yes"
+ fi
+fi
+
+sudo rm -Rf /usr/local/include/ndn-cxx
+sudo rm -f /usr/local/lib/libndn-cxx*
+sudo rm -f /usr/local/lib/pkgconfig/libndn-cxx*
+
+if [ "$BUILD" = "yes" ]; then
+ ./waf distclean --color=yes
+fi
+
+./waf configure --color=yes --without-osx-keychain
+./waf -j1 --color=yes
+sudo ./waf install --color=yes
diff --git a/.jenkins.d/20-build.sh b/.jenkins.d/20-build.sh
new file mode 100755
index 0000000..7b72060
--- /dev/null
+++ b/.jenkins.d/20-build.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+set -x
+
+git submodule init
+git submodule sync
+git submodule update
+
+# actual build
+./waf distclean --color=yes
+
+COVERAGE=`python -c "print '--with-coverage' if 'code-coverage' in '$JOB_NAME' else ''"`
+
+CXXFLAGS="-Wall -Wno-long-long -O2 -g -Werror" ./waf configure --color=yes --with-tests $COVERAGE
+
+./waf -j1 --color=yes
+sudo ./waf install --color=yes
diff --git a/.jenkins.d/30-tests.sh b/.jenkins.d/30-tests.sh
new file mode 100755
index 0000000..aee9812
--- /dev/null
+++ b/.jenkins.d/30-tests.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -x
+
+./build/unit-tests-nlsr -l test_suite