1
0
mirror of https://github.com/tensorflow/haskell.git synced 2024-06-02 11:03:34 +02:00
tensorflow-haskell/ci_build/Dockerfile
Greg Steuck 455e5a83c9 Add stack resolver version switch (#38). (#45)
The script can now be run with, e.g.
`env STACK_RESOLVER=lts-7.3 ci_build/outer_launch_tests.sh`
and will use the specified version of the resolver.

We can't quite enable this for lts-7.3 as the code is not pedantically
clean. We will reconsider when 8.0.2 is available which removes
`-Wredundant-constraints` from `-Wall`.
2016-11-23 09:47:01 -08:00

37 lines
1.4 KiB
Docker

# 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.
FROM tensorflow/tensorflow:nightly-devel
MAINTAINER TensorFlow authors <tensorflow-haskell@googlegroups.com>
# The build context directory is the top of the tensorflow-haskell
# tree.
ADD . /tfhs
WORKDIR /tfhs
ARG STACK_RESOLVER
RUN \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && \
echo 'deb http://download.fpcomplete.com/ubuntu trusty main'| tee /etc/apt/sources.list.d/fpco.list && \
apt-get update && \
apt-get install -y \
# Avoids /usr/bin/ld: cannot find -ltinfo
libncurses5-dev \
# Makes stack viable in the container
libgmp-dev \
libcurl3-dev \
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 ) && \
stack setup --resolver=${STACK_RESOLVER} && \
stack test --resolver=${STACK_RESOLVER} --only-dependencies