Przeglądaj źródła

ENH: Add Continous Integration Support

mayeul 8 lat temu
rodzic
commit
b9600aebf8

+ 12 - 0
CMake/CircleCI/Dockerfile

@@ -0,0 +1,12 @@
+FROM debian:8
+MAINTAINER Insight Software Consortium <community@itk.org>
+
+RUN apt-get update && apt-get install -y \
+  build-essential \
+  cmake \
+  git \
+  qt4-dev-tools
+
+
+
+WORKDIR /usr/src

+ 5 - 0
CMake/CircleCI/build.sh

@@ -0,0 +1,5 @@
+#!/bin/sh
+
+script_dir="`cd $(dirname $0); pwd`"
+
+docker build -t commontk/ctk-test $script_dir

+ 8 - 0
CMake/CircleCI/push.sh

@@ -0,0 +1,8 @@
+#!/bin/sh
+
+die() {
+  echo "Error: $@" 1>&2
+  exit 1;
+}
+
+docker push commontk/ctk-test

+ 9 - 0
CMake/CircleCI/run.sh

@@ -0,0 +1,9 @@
+#!/bin/sh
+
+script_dir="`cd $(dirname $0); pwd`"
+
+docker run \
+  --rm \
+  -v $script_dir/../..:/usr/src/CTK \
+    commontk/ctk-test \
+/usr/src/CTK/CMake/CircleCI/test.sh

+ 22 - 0
CMake/CircleCI/test.sh

@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# This is a script to build the modules and run the test suite in the base
+# Docker container.
+
+die() {
+  echo "Error: $@" 1>&2
+  exit 1;
+}
+
+mkdir /usr/src/CTK-build
+cd /usr/src/CTK-build || die "Could not cd into the build directory"
+
+cmake \
+  -DCMAKE_BUILD_TYPE:STRING=Release \
+  -DBUILD_TESTING:BOOL=ON \
+    /usr/src/CTK || die "CMake configuration failed"
+
+make -j3 || die "examples build failed"
+
+cd CTK-build
+ctest -VV -D Experimental || die "ctest failed"

+ 12 - 0
circle.yml

@@ -0,0 +1,12 @@
+machine:
+  services:
+    - docker
+
+dependencies:
+  override:
+    - docker info
+    - docker pull commontk/ctk-test
+
+test:
+  override:
+    - docker run -v ~/CTK:/usr/src/CTK -v ~/CTK-build:/usr/src/CTK-build commontk/ctk-test /usr/src/CTK/CMake/CircleCI/test.sh