From 673e87f6516917d5c45a1c96c7a9c56ed6fef2cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Thu, 3 Dec 2015 14:34:40 +0100 Subject: [build] refactor Docker scripts + add clang-tidy script --- docker/Dockerfile | 16 +++++++++++++ docker/build.sh | 8 +++++++ docker/clang-tidy/Dockerfile | 9 ++++++++ docker/clang-tidy/run.sh | 14 ++++++++++++ docker/clang-tidy/tidy.sh | 19 +++++++++++++++ docker/launchpad.gpg.key | 13 +++++++++++ docker/linux/Dockerfile | 13 +++-------- docker/linux/run-gcc.sh | 12 ---------- docker/linux/run.sh | 14 ++++++++++++ docker/llvm-snapshot.gpg.key | 52 ++++++++++++++++++++++++++++++++++++++++++ docker/llvm.list | 2 ++ docker/ubuntu-toolchain-r.list | 2 ++ 12 files changed, 152 insertions(+), 22 deletions(-) create mode 100644 docker/Dockerfile create mode 100755 docker/build.sh create mode 100644 docker/clang-tidy/Dockerfile create mode 100755 docker/clang-tidy/run.sh create mode 100755 docker/clang-tidy/tidy.sh create mode 100644 docker/launchpad.gpg.key delete mode 100755 docker/linux/run-gcc.sh create mode 100755 docker/linux/run.sh create mode 100644 docker/llvm-snapshot.gpg.key create mode 100644 docker/llvm.list create mode 100644 docker/ubuntu-toolchain-r.list (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000000..ef98a71430 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:12.04 + +ENV DEBIAN_FRONTEND noninteractive + +# Add other APT sources and keys +ADD *.list /etc/apt/sources.list.d/ +ADD *.gpg.key /tmp/ +RUN find /tmp/*.gpg.key | xargs -n1 apt-key add + +# Recreate Travis CI environment +RUN apt-get update -y +RUN apt-get install -y git-core python-pip curl automake libtool make cmake pkg-config python-pip \ + libc6 libstdc++6 zlib1g-dev libcurl4-openssl-dev libpng-dev libsqlite3-dev \ + xvfb libglu1-mesa-dev libxrandr-dev libxinerama-dev libxi-dev libxcursor-dev xutils-dev \ + mesa-utils libxxf86vm-dev x11proto-xf86vidmode-dev && \ + pip install awscli diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000000..c6eb1b110d --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +#!/usr/bin/env bash + +set -e +set -o pipefail + +docker build -t mapbox/gl-native:travis docker diff --git a/docker/clang-tidy/Dockerfile b/docker/clang-tidy/Dockerfile new file mode 100644 index 0000000000..c880391592 --- /dev/null +++ b/docker/clang-tidy/Dockerfile @@ -0,0 +1,9 @@ +FROM mapbox/gl-native:travis + +# Install compiler +RUN apt-get -y install clang-3.8 lldb-3.8 clang-tidy-3.8 clang-format-3.8 + +RUN useradd -ms /bin/bash mapbox +USER mapbox +ENV HOME /home/mapbox +WORKDIR /home/mapbox diff --git a/docker/clang-tidy/run.sh b/docker/clang-tidy/run.sh new file mode 100755 index 0000000000..421aca9700 --- /dev/null +++ b/docker/clang-tidy/run.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +./docker/build.sh + +docker build -t mapbox/gl-native:clang-tidy docker/clang-tidy + +docker run \ + -i \ + -v `pwd`:/home/mapbox/build \ + -t mapbox/gl-native:clang-tidy \ + build/docker/clang-tidy/tidy.sh diff --git a/docker/clang-tidy/tidy.sh b/docker/clang-tidy/tidy.sh new file mode 100755 index 0000000000..9c939d219b --- /dev/null +++ b/docker/clang-tidy/tidy.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# set -e +# set -o pipefail + +export FLAVOR=linux +export CXX=clang++-3.8 +export BUILDTYPE=Release + +cd build + +# before_install +source ./scripts/travis_helper.sh + +# install +./scripts/${FLAVOR}/install.sh + +export CLANG_TIDY=clang-tidy-3.8 +make tidy diff --git a/docker/launchpad.gpg.key b/docker/launchpad.gpg.key new file mode 100644 index 0000000000..ebe1b1ec33 --- /dev/null +++ b/docker/launchpad.gpg.key @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mI0ESuBvRwEEAMi4cDba7xlKaaoXjO1n1HX8RKrkW+HEIl79nSOSJyvzysajs7zU +ow/OzCQp9NswqrDmNuH1+lPTTRNAGtK8r2ouq2rnXT1mTl23dpgHZ9spseR73s4Z +BGw/ag4bpU5dNUStvfmHhIjVCuiSpNn7cyy1JSSvSs3N2mxteKjXLBf7ABEBAAG0 +GkxhdW5jaHBhZCBUb29sY2hhaW4gYnVpbGRziLYEEwECACAFAkrgb0cCGwMGCwkI +BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAek3eiup7yfzGKA/4xzUqNACSlB+k+DxFF +HqkwKa/ziFiAlkLQyyhm+iqz80htRZr7Ls/ZRYZl0aSU56/hLe0V+TviJ1s8qdN2 +lamkKdXIAFfavA04nOnTzyIBJ82EAUT3Nh45skMxo4z4iZMNmsyaQpNl/m/lNtOL +hR64v5ZybofB2EWkMxUzX8D/FQ== +=LcUQ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 36eaeed695..4c97d946e3 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -1,14 +1,7 @@ -FROM ubuntu:12.04 +FROM mapbox/gl-native:travis -# Recreate Travis CI environment -RUN apt-get update -y && \ - apt-get install -y build-essential git-core python-pip python-software-properties software-properties-common curl zlib1g-dev automake libtool make cmake pkg-config python-pip libcurl4-openssl-dev libpng-dev libsqlite3-dev xvfb libglu1-mesa-dev libxrandr-dev libxinerama-dev libxi-dev libxcursor-dev imagemagick && \ - pip install awscli - -# Install -RUN add-apt-repository --yes ppa:ubuntu-toolchain-r/test && \ - apt-get update -y && \ - apt-get -y install gdb g++-4.9 gcc-4.9 libllvm3.4 xutils-dev libxxf86vm-dev x11proto-xf86vidmode-dev mesa-utils +# Install compiler +RUN apt-get -y install gdb g++-4.9 gcc-4.9 libllvm3.4 RUN useradd -ms /bin/bash mapbox USER mapbox diff --git a/docker/linux/run-gcc.sh b/docker/linux/run-gcc.sh deleted file mode 100755 index 91bbee64ae..0000000000 --- a/docker/linux/run-gcc.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -o pipefail - -docker build -t mapbox/gl-native:linux docker/linux - -docker run \ - -i \ - -v `pwd`:/home/mapbox/build \ - -t mapbox/gl-native:linux \ - build/docker/linux/test.sh diff --git a/docker/linux/run.sh b/docker/linux/run.sh new file mode 100755 index 0000000000..3d41843cf2 --- /dev/null +++ b/docker/linux/run.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +./docker/build.sh + +docker build -t mapbox/gl-native:linux docker/linux + +docker run \ + -i \ + -v `pwd`:/home/mapbox/build \ + -t mapbox/gl-native:linux \ + build/docker/linux/test.sh diff --git a/docker/llvm-snapshot.gpg.key b/docker/llvm-snapshot.gpg.key new file mode 100644 index 0000000000..aa6b105aa3 --- /dev/null +++ b/docker/llvm-snapshot.gpg.key @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +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 +bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw== +=j+4q +-----END PGP PUBLIC KEY BLOCK----- diff --git a/docker/llvm.list b/docker/llvm.list new file mode 100644 index 0000000000..2ca079d9d6 --- /dev/null +++ b/docker/llvm.list @@ -0,0 +1,2 @@ +deb http://llvm.org/apt/precise/ llvm-toolchain-precise main +deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise main diff --git a/docker/ubuntu-toolchain-r.list b/docker/ubuntu-toolchain-r.list new file mode 100644 index 0000000000..2ff8535f95 --- /dev/null +++ b/docker/ubuntu-toolchain-r.list @@ -0,0 +1,2 @@ +deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main +deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main -- cgit v1.2.1