2016-10-29 00:44:29 +02:00
|
|
|
# Image for launching TensorFlow Haskell tests. Unlike the
|
|
|
|
# development image in docker/Dockerfile, this one doesn't require
|
|
|
|
# stack to be installed on the host. This comes at the expense of
|
|
|
|
# flexibility.
|
|
|
|
|
2016-10-28 03:57:37 +02:00
|
|
|
FROM tensorflow/tensorflow:nightly-devel
|
|
|
|
MAINTAINER TensorFlow authors <tensorflow-haskell@googlegroups.com>
|
|
|
|
|
2016-10-29 00:44:29 +02:00
|
|
|
# The build context directory is the top of the tensorflow-haskell
|
|
|
|
# tree.
|
|
|
|
ADD . /tfhs
|
|
|
|
WORKDIR /tfhs
|
|
|
|
|
2016-11-23 18:47:01 +01:00
|
|
|
ARG STACK_RESOLVER
|
|
|
|
|
2016-10-28 03:57:37 +02:00
|
|
|
RUN \
|
|
|
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && \
|
2016-10-29 00:44:29 +02:00
|
|
|
echo 'deb http://download.fpcomplete.com/ubuntu trusty main'| tee /etc/apt/sources.list.d/fpco.list && \
|
|
|
|
apt-get update && \
|
|
|
|
apt-get install -y \
|
2016-10-28 03:57:37 +02:00
|
|
|
# Avoids /usr/bin/ld: cannot find -ltinfo
|
|
|
|
libncurses5-dev \
|
|
|
|
# Makes stack viable in the container
|
|
|
|
libgmp-dev \
|
|
|
|
libcurl3-dev \
|
2016-10-29 00:44:29 +02:00
|
|
|
stack && \
|
|
|
|
# Installs protoc and the libraries.
|
|
|
|
( cd third_party/tensorflow && \
|
|
|
|
tensorflow/tools/ci_build/builds/configured CPU && \
|
|
|
|
bazel build -c opt '@protobuf//:protoc' && \
|
|
|
|
install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \
|
|
|
|
bazel build -c opt '//tensorflow:libtensorflow_c.so' && \
|
|
|
|
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \
|
|
|
|
ldconfig ) && \
|
2016-11-23 18:47:01 +01:00
|
|
|
stack setup --resolver=${STACK_RESOLVER} && \
|
|
|
|
stack test --resolver=${STACK_RESOLVER} --only-dependencies
|