mirror of
https://github.com/tensorflow/haskell.git
synced 2024-11-23 11:29:43 +01:00
Integration test (#14)
- Uses docker to put everything together. - stack is running on "raw" system, similar to MacOS build.
This commit is contained in:
parent
b2795d7518
commit
28bfe005da
3 changed files with 47 additions and 0 deletions
35
ci_build/Dockerfile
Normal file
35
ci_build/Dockerfile
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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 && \
|
||||||
|
git submodule init && git submodule update && \
|
||||||
|
# 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 && \
|
||||||
|
stack test --only-dependencies
|
11
ci_build/outer_launch_tests.sh
Executable file
11
ci_build/outer_launch_tests.sh
Executable 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
|
|
@ -9,6 +9,7 @@ RUN \
|
||||||
install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \
|
install -s bazel-bin/external/protobuf/protoc /usr/local/bin && \
|
||||||
bazel --batch build -c opt '//tensorflow:libtensorflow_c.so' && \
|
bazel --batch build -c opt '//tensorflow:libtensorflow_c.so' && \
|
||||||
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \
|
install bazel-bin/tensorflow/libtensorflow_c.so /usr/local/lib && \
|
||||||
|
ldconfig && \
|
||||||
bazel --batch clean
|
bazel --batch clean
|
||||||
|
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
|
|
Loading…
Reference in a new issue