summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/linux/Dockerfile19
-rw-r--r--docker/linux/run-clang.sh15
-rwxr-xr-xdocker/linux/run-gcc.sh15
-rwxr-xr-xdocker/linux/test.sh26
4 files changed, 75 insertions, 0 deletions
diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile
new file mode 100644
index 0000000000..0d23fe1e79
--- /dev/null
+++ b/docker/linux/Dockerfile
@@ -0,0 +1,19 @@
+FROM ubuntu:12.04
+
+RUN apt-get update -y && \
+ apt-get install -y build-essential git-core python-pip python-software-properties software-properties-common && \
+ rm -rf /var/lib/apt/lists/*
+
+RUN add-apt-repository --yes ppa:ubuntu-toolchain-r/test && \
+ add-apt-repository --yes ppa:boost-latest/ppa && \
+ apt-get update -y && \
+ apt-get -y install gcc-4.8 g++-4.8 curl zlib1g-dev automake gdb libtool xutils-dev make cmake pkg-config python-pip libboost1.55-dev libcurl4-openssl-dev libpng-dev libsqlite3-dev mesa-utils libxi-dev x11proto-randr-dev x11proto-xext-dev libxrandr-dev x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev libxinerama-dev xvfb llvm-3.4 && \
+ pip install awscli
+
+RUN apt-get install -y imagemagick
+
+RUN useradd -ms /bin/bash mapbox
+
+USER mapbox
+ENV HOME /home/mapbox
+WORKDIR /home/mapbox
diff --git a/docker/linux/run-clang.sh b/docker/linux/run-clang.sh
new file mode 100644
index 0000000000..cb9f6f417f
--- /dev/null
+++ b/docker/linux/run-clang.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+docker build \
+ -t mapbox/gl-native:linux \
+ docker/linux
+
+docker run \
+ -i \
+ -e "CXX=clang++" \
+ -v `pwd`:/home/mapbox/build \
+ -t mapbox/gl-native:linux \
+ build/docker/linux/test.sh
diff --git a/docker/linux/run-gcc.sh b/docker/linux/run-gcc.sh
new file mode 100755
index 0000000000..093771f1a4
--- /dev/null
+++ b/docker/linux/run-gcc.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+docker build \
+ -t mapbox/gl-native:linux \
+ docker/linux
+
+docker run \
+ -i \
+ -e "CXX=g++" \
+ -v `pwd`:/home/mapbox/build \
+ -t mapbox/gl-native:linux \
+ build/docker/linux/test.sh
diff --git a/docker/linux/test.sh b/docker/linux/test.sh
new file mode 100755
index 0000000000..9ef9bf51f5
--- /dev/null
+++ b/docker/linux/test.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+export TRAVIS_OS_NAME=linux
+
+cd build
+
+source ./scripts/local_mason.sh
+mason install mesa 10.4.3
+export LD_LIBRARY_PATH=`mason prefix mesa 10.4.3`/lib
+
+export DISPLAY=:99.0
+Xvfb :99 -ac -screen 0 1024x768x24 &
+
+if [[ ${CXX} == "g++" ]]; then
+ export CXX="g++-4.8"
+ export CC="gcc-4.8"
+fi
+
+source ./scripts/install_node.sh
+
+make linux -j`nproc`
+make test-* -j`nproc`
+./scripts/compare_images.sh