From 4c911b399af99275538b45c994a151fb88f36c12 Mon Sep 17 00:00:00 2001 From: Tim Paine Date: Fri, 4 Jan 2019 19:24:37 -0500 Subject: [PATCH] speed up cpp and python builds --- docker/cpp/Dockerfile | 5 +---- docker/cpp/Dockerfile.build | 16 ++++++++++++++++ docker/python/Dockerfile | 18 +----------------- docker/python/Dockerfile.build | 29 +++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 21 deletions(-) create mode 100644 docker/cpp/Dockerfile.build create mode 100644 docker/python/Dockerfile.build diff --git a/docker/cpp/Dockerfile b/docker/cpp/Dockerfile index 775334196c..5d2c70a6e5 100644 --- a/docker/cpp/Dockerfile +++ b/docker/cpp/Dockerfile @@ -6,13 +6,10 @@ # the Apache License 2.0. The full license can be found in the LICENSE file. # -FROM node:8 +FROM timkpaine/perspective-cpp WORKDIR /usr/src/app ADD . /usr/src/app -RUN apt-get update -RUN apt-get -y install apt-transport-https libtbb-dev cmake libboost-all-dev - RUN yarn RUN yarn build_cpp diff --git a/docker/cpp/Dockerfile.build b/docker/cpp/Dockerfile.build new file mode 100644 index 0000000000..6cdb0f07c2 --- /dev/null +++ b/docker/cpp/Dockerfile.build @@ -0,0 +1,16 @@ +# ***************************************************************************** +# +# Copyright (c) 2019, the Perspective Authors. +# +# This file is part of the Perspective library, distributed under the terms of +# the Apache License 2.0. The full license can be found in the LICENSE file. +# + +FROM node:8 + +WORKDIR /usr/src/app +ADD . /usr/src/app + +RUN apt-get update +RUN apt-get -y install apt-transport-https libtbb-dev cmake libboost-all-dev + diff --git a/docker/python/Dockerfile b/docker/python/Dockerfile index c3029ef335..7199e6b4e2 100644 --- a/docker/python/Dockerfile +++ b/docker/python/Dockerfile @@ -6,27 +6,11 @@ # the Apache License 2.0. The full license can be found in the LICENSE file. # -FROM python:3.7 +FROM timkpaine/perspective-python-binding WORKDIR /usr/src/app ADD . /usr/src/app -RUN apt-get update -RUN apt-get -y install apt-transport-https libtbb-dev cmake -RUN apt-get -y remove python3 - -RUN python3.7 -m pip install numpy pandas - -RUN ls -al /usr/local/lib/python3.7/site-packages/numpy - -RUN wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz >/dev/null 2>&1 || echo "wget failed" -RUN tar xfz boost_1_67_0.tar.gz -RUN cd boost_1_67_0 && CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/include/python3.7m" C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/include/python3.7m" ./bootstrap.sh --with-python=/usr/local/bin/python3.7 || echo "boostrap failed" -RUN cd boost_1_67_0 && CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/include/python3.7m" C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/include/python3.7m" ./b2 -j4 install || echo "build boost failed" - -RUN ln -s /usr/local/lib/libboost_python37.so /usr/local/lib/libboost_python.so -RUN ln -s /usr/local/lib/libboost_numpy37.so /usr/local/lib/libboost_numpy.so - RUN python3 -m pip install codecov nose2 mock flake8 RUN python3 -m pip install -r python/requirements.txt diff --git a/docker/python/Dockerfile.build b/docker/python/Dockerfile.build new file mode 100644 index 0000000000..78ec79cbfb --- /dev/null +++ b/docker/python/Dockerfile.build @@ -0,0 +1,29 @@ +# ***************************************************************************** +# +# Copyright (c) 2019, the Perspective Authors. +# +# This file is part of the Perspective library, distributed under the terms of +# the Apache License 2.0. The full license can be found in the LICENSE file. +# + +FROM python:3.7 + +WORKDIR /usr/src/app +ADD . /usr/src/app + +RUN apt-get update +RUN apt-get -y install apt-transport-https libtbb-dev cmake +RUN apt-get -y remove python3 + +RUN python3.7 -m pip install numpy pandas + +RUN ls -al /usr/local/lib/python3.7/site-packages/numpy + +RUN wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz >/dev/null 2>&1 || echo "wget failed" +RUN tar xfz boost_1_67_0.tar.gz +RUN cd boost_1_67_0 && CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/include/python3.7m" C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/include/python3.7m" ./bootstrap.sh --with-python=/usr/local/bin/python3.7 || echo "boostrap failed" +RUN cd boost_1_67_0 && CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/include/python3.7m" C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/include/python3.7m" ./b2 -j4 install || echo "build boost failed" + +RUN ln -s /usr/local/lib/libboost_python37.so /usr/local/lib/libboost_python.so +RUN ln -s /usr/local/lib/libboost_numpy37.so /usr/local/lib/libboost_numpy.so +