Semi-functional continuous integration test.

- Uses docker to put everything together.
- stack is running on "raw" system, similar to MacOS build.
- Still not finding libtensorflow_c.so in tensorflow-core-ops setup.
This commit is contained in:
Greg Steuck 2016-10-27 18:57:37 -07:00
parent b2795d7518
commit d050ec2654
2 changed files with 47 additions and 0 deletions

36
ci_build/Dockerfile Normal file
View File

@ -0,0 +1,36 @@
# Image for launching TensorFlow Haskell tests.
FROM tensorflow/tensorflow:nightly-devel
# gcr.io/tensorflow/tensorflow:latest-devel
MAINTAINER TensorFlow authors <tensorflow-haskell@googlegroups.com>
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
RUN apt-get update
RUN apt-get install -y \
# Avoids /usr/bin/ld: cannot find -ltinfo
libncurses5-dev \
# Makes stack viable in the container
libgmp-dev \
libcurl3-dev \
stack
# The build context directory is the top of the tensorflow-haskell
# tree.
ADD . /tfhs
WORKDIR /tfhs
# Installs protoc and the libraries.
RUN \
cd third_party/tensorflow && \
tensorflow/tools/ci_build/builds/configured CPU && \
bazel --batch build -c opt '@protobuf//:protoc' && \
install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \
bazel --batch build -c opt '//tensorflow:libtensorflow_c.so' && \
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \
bazel --batch clean
RUN stack setup && stack test --only-dependencies

11
ci_build/outer_launch_tests.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
# Builds a test image and runs the tests inside.
set -eu -o pipefail
IMAGE_NAME=tensorflow/haskell/ci_build:v0
git submodule update
docker build -t $IMAGE_NAME -f ci_build/Dockerfile .
docker run -ti $IMAGE_NAME stack test