1
0
mirror of https://github.com/tensorflow/haskell.git synced 2024-07-02 01:18:34 +02:00
tensorflow-haskell/ci_build/Dockerfile
fkm3 baa501b262
Use newer version of stack in CI (#189)
Required by #187.

The version we were using is old enough that it doesn't work with the
latest stackage LTS. haskellstack.org says

    There is also a Ubuntu package for Ubuntu 16.10 and up, but the
    distribution's Stack version lags behind, ...

So, instead of asking them to update it, it's probably better to
download the tar of the version we want.

Somehow updating stack surfaced a new pedantic warning in GradientTest,
so I've fixed that as well.
2018-05-15 23:19:15 -04:00

40 lines
1.7 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:1.8.0
LABEL maintainer="TensorFlow authors <tensorflow-haskell@googlegroups.com>"
# The build context directory is the top of the tensorflow-haskell
# tree.
ADD . /tfhs
WORKDIR /tfhs
RUN \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && \
apt-get update && \
apt-get install -y \
# Required by snappy-frames dependency.
libsnappy-dev \
# Avoids /usr/bin/ld: cannot find -ltinfo
libncurses5-dev \
# Makes stack viable in the container
libgmp-dev \
libcurl3-dev \
# Required for tcp connections by stack (See: https://github.com/tensorflow/haskell/issues/182)
netbase \
&& \
# Installs stack.
curl -O -L https://github.com/commercialhaskell/stack/releases/download/v1.7.1/stack-1.7.1-linux-x86_64.tar.gz && \
tar zxf stack-1.7.1-linux-x86_64.tar.gz -C /usr/local/bin stack-1.7.1-linux-x86_64/stack --strip 1 && \
# Installs protoc and the libraries.
curl -O -L https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip && \
unzip -d /usr/local protoc-3.2.0-linux-x86_64.zip bin/protoc && \
chmod 755 /usr/local/bin/protoc && \
curl -O https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.8.0.tar.gz && \
tar zxf libtensorflow-cpu-linux-x86_64-1.8.0.tar.gz -C /usr/local && \
ldconfig && \
stack setup && \
stack test --only-dependencies