From d7d3ecaf1a2be10add75a5140878fcf4044b8a99 Mon Sep 17 00:00:00 2001 From: Simon Fels Date: Fri, 20 Jan 2017 08:41:36 +0100 Subject: [PATCH] Add initial travis build configuration We need to use docker here as travis only provides Ubuntu 14.04 based images which are not enough for us to build everything. --- .travis.yml | 9 +++++++ scripts/build-with-docker.sh | 3 +++ scripts/clean-build.sh | 49 ++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 .travis.yml create mode 100755 scripts/build-with-docker.sh create mode 100755 scripts/clean-build.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..f3314a5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: cpp +os: linux +sudo: required + +services: + - docker + +script: + - scripts/build-with-docker.sh diff --git a/scripts/build-with-docker.sh b/scripts/build-with-docker.sh new file mode 100755 index 0000000..5d0159c --- /dev/null +++ b/scripts/build-with-docker.sh @@ -0,0 +1,3 @@ +#!/bin/sh +docker pull ubuntu:16.04 +docker run -i -t -v $PWD:/anbox ubuntu:16.04 /anbox/scripts/clean-build.sh diff --git a/scripts/clean-build.sh b/scripts/clean-build.sh new file mode 100755 index 0000000..b62f804 --- /dev/null +++ b/scripts/clean-build.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +set -ex + +apt-get update -qq +apt-get install -qq -y \ + build-essential \ + cmake \ + cmake-data \ + debhelper \ + dbus \ + git \ + google-mock \ + libboost-dev \ + libboost-filesystem-dev \ + libboost-log-dev \ + libboost-iostreams-dev \ + libboost-program-options-dev \ + libboost-system-dev \ + libboost-test-dev \ + libboost-thread-dev \ + libcap-dev \ + libdbus-1-dev \ + libdbus-cpp-dev \ + libegl1-mesa-dev \ + libgles2-mesa-dev \ + libglib2.0-dev \ + libglm-dev \ + libgtest-dev \ + liblxc1 \ + libprotobuf-dev \ + libsdl2-dev \ + lxc-dev \ + pkg-config \ + protobuf-compiler + +cd /anbox + +# In cases where anbox comes directly from a checked out Android +# build environment we miss some symlinks which are present on +# the host and don't have a valid git repository in that case. +git clean -fdx . || true +git reset --hard || true + +mkdir build || rm -rf build/* +cd build +cmake .. +make -j10 +make test