aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts
diff options
context:
space:
mode:
authorlloyd <[email protected]>2015-05-11 11:40:36 +0000
committerlloyd <[email protected]>2015-05-11 11:40:36 +0000
commit2c8c47db450cbffa1122a2b9796b7a35588d02b7 (patch)
treeab8e4309785e3f473127b3bcba56257305d8836b /src/scripts
parent9426f6d0f4a760c555379c3af642127df7e1456e (diff)
Add coveralls.io support based on GH #91 by cordney
Move the more complex CI logic to scripts instead of yaml
Diffstat (limited to 'src/scripts')
-rwxr-xr-xsrc/scripts/ci/after_success.sh13
-rwxr-xr-xsrc/scripts/ci/build.sh17
-rwxr-xr-xsrc/scripts/ci/setup.sh19
3 files changed, 49 insertions, 0 deletions
diff --git a/src/scripts/ci/after_success.sh b/src/scripts/ci/after_success.sh
new file mode 100755
index 000000000..2aaabe294
--- /dev/null
+++ b/src/scripts/ci/after_success.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+BUILD_MODE=$1
+
+set -ev
+
+if [ "$BUILD_MODE" = "coverage"]
+then
+ lcov --directory . --capture --output-file coverage.info
+ lcov --remove coverage.info 'tests/*' '/usr/*' --output-file coverage.info
+ lcov --list coverage.info
+ coveralls-lcov -t $COVERALLS_REPO_TOKEN coverage.info
+fi
diff --git a/src/scripts/ci/build.sh b/src/scripts/ci/build.sh
new file mode 100755
index 000000000..c0c46a862
--- /dev/null
+++ b/src/scripts/ci/build.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -ev
+
+if [ "$BUILD_MODE" = "static" ]; then
+ CFG_FLAGS="--disabled-shared --via-amalgamation"
+elif [ "$BUILD_MODE" = "shared" ]; then
+ CFG_FLAGS="--build-mode=shared"
+elif [ "$BUILD_MODE" = "coverage" ]; then
+ # lcov gets confused by symlinks
+ CFG_FLAGS="--build-mode=coverage --link-method=copy"
+fi
+
+$CXX --version
+python configure.py $CFG_FLAGS --cc=$CC --cc-bin=$CXX --with-openssl --with-sqlite --with-zlib
+make
+LD_LIBRARY_PATH=. ./botan-test
diff --git a/src/scripts/ci/setup.sh b/src/scripts/ci/setup.sh
new file mode 100755
index 000000000..d4fd2f400
--- /dev/null
+++ b/src/scripts/ci/setup.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -ev
+
+apt-get install -y g++-4.8
+apt-get install -y libssl-dev
+apt-get install -y libz-dev
+apt-get install -y libsqlite3-dev
+update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
+update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 90
+update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.8 90
+
+if [ "$BUILD_MODE" = "coverage" ]
+then
+ wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz
+ tar -xvf lcov_1.11.orig.tar.gz
+ make -C lcov-1.11/ install
+ gem install coveralls-lcov
+fi