From 78f7bfe0a8c36ebf9b605c77e0523f57f03551d6 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel <guilhem.saurel@laas.fr> Date: Fri, 3 Apr 2020 21:41:11 +0200 Subject: [PATCH] playing with experimental & buildkit - without cache: [+] Building 559.6s (12/12) FINISHED - with ccache: [+] Building 30.7s (12/12) FINISHED - with docker cache: [+] Building 3.4s (12/12) FINISHED --- docker/eigenpy/Dockerfile.experimental | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docker/eigenpy/Dockerfile.experimental diff --git a/docker/eigenpy/Dockerfile.experimental b/docker/eigenpy/Dockerfile.experimental new file mode 100644 index 0000000..c333646 --- /dev/null +++ b/docker/eigenpy/Dockerfile.experimental @@ -0,0 +1,34 @@ +# syntax=docker/dockerfile:experimental +ARG UBUNTU=bionic +FROM ubuntu:$UBUNTU + +ENV DEBIAN_FRONTEND=noninteractive CTEST_OUTPUT_ON_FAILURE=true + +RUN rm -f /etc/apt/apt.conf.d/docker-clean \ + && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache + +# check ccache vs docker cache hits with "docker build --build-arg EPOCH=$(date +%s) -f Dockerfile.experimental ." +ARG EPOCH=1 +ENV EPOCH=${EPOCH} + +RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \ + apt-get update -y \ + && apt-get install -y \ + build-essential \ + ccache \ + cmake \ + git \ + libboost-all-dev \ + libeigen3-dev \ + python3-numpy + +RUN git clone --recursive -b devel https://github.com/stack-of-tasks/eigenpy.git \ + && mkdir /eigenpy/build + +WORKDIR /eigenpy/build + +ENV CXX="/usr/lib/ccache/g++" CC="/usr/lib/ccache/gcc" + +RUN cmake -DPYTHON_EXECUTABLE=/usr/bin/python3 .. + +RUN --mount=type=cache,target=/root/.ccache make -s -- GitLab