Browse Source

Merge pull request #690 from commontk/continuous-integration-qt5

Continuous integration qt5
Jean-Christophe Fillion-Robin 8 years ago
parent
commit
eb75b468cd

+ 10 - 4
CMake/CircleCI/CircleCI_CTK_Docker.cmake

@@ -21,6 +21,9 @@
 #
 ##############################################################################
 
+if( NOT "${CTK_QT_VERSION}" MATCHES "4|5" )
+  message( FATAL_ERROR "CTK_QT_VERSION should be set to either 4 or 5" )
+endif()
 
 set( CTK_SOURCE_DIR "/usr/src/CTK" )
 set( CTK_BINARY_DIR "/usr/src/CTK-build" )
@@ -46,7 +49,7 @@ set( SITE_PLATFORM "Ubuntu-64" )
 set( SITE_BUILD_TYPE "$ENV{SITE_BUILD_TYPE}" )
 if( NOT( (SITE_BUILD_TYPE MATCHES "Debug") OR (SITE_BUILD_TYPE MATCHES "Release") ) )
   set( SITE_BUILD_TYPE "Debug" ) # Release, Debug
-endif( NOT( (SITE_BUILD_TYPE MATCHES "Debug") OR (SITE_BUILD_TYPE MATCHES "Release") ) )
+endif()
 
 # Named SITE_BUILD_NAME
 string( SUBSTRING $ENV{CIRCLE_SHA1} 0 7 commit )
@@ -55,7 +58,7 @@ set( SITE_BUILD_NAME_SUFFIX _${commit}_${what} )
 
 set( SITE_BUILD_NAME "CircleCI-${SITE_PLATFORM}-${SITE_BUILD_TYPE}${SITE_BUILD_NAME_SUFFIX}" )
 
-set( CTEST_BUILD_NAME "${SITE_BUILD_NAME}-BuildTest-${SITE_CTEST_MODE}" )
+set( CTEST_BUILD_NAME "${SITE_BUILD_NAME}-BuildTest-Qt${CTK_QT_VERSION}-${SITE_CTEST_MODE}" )
 
 ###################
 
@@ -70,8 +73,11 @@ set( CTK_BUILD_EXAMPLES OFF )
 
 ctest_start( "${SITE_CTEST_MODE}" )
 
-ctest_configure( BUILD "${CTK_BINARY_DIR}"
-    SOURCE "${CTK_SOURCE_DIR}" )
+ctest_configure(
+  BUILD "${CTK_BINARY_DIR}"
+  SOURCE "${CTK_SOURCE_DIR}"
+  OPTIONS -DCTK_QT_VERSION:STRING=${CTK_QT_VERSION}
+  )
 
 ctest_build( BUILD ${CTK_BINARY_DIR} )
 

+ 0 - 8
CMake/CircleCI/Dockerfile

@@ -1,8 +0,0 @@
-FROM thewtex/opengl:v0.1.0
-MAINTAINER Insight Software Consortium <community@itk.org>
-
-RUN apt-get update && apt-get install -y \
-  qt4-dev-tools \
-  cmake
-
-ENV APP "sudo chown -R user.user /usr/src/ && /usr/src/CTK/CMake/CircleCI/test.sh"

+ 12 - 0
CMake/CircleCI/Dockerfile-qt4

@@ -0,0 +1,12 @@
+FROM thewtex/opengl:v0.1.0
+MAINTAINER Insight Software Consortium <community@itk.org>
+
+RUN REPO=http://cdn-fastly.deb.debian.org && \
+  echo "deb $REPO/debian jessie main\ndeb $REPO/debian jessie-updates main\ndeb $REPO/debian-security jessie/updates main" > /etc/apt/sources.list
+
+RUN apt-get update && apt-get install -y \
+  qt4-dev-tools \
+  cmake \
+  && rm -rf /var/lib/apt/lists/*
+
+ENV APP "sudo chown -R user.user /usr/src/ && /usr/src/CTK/CMake/CircleCI/test.sh -DCTK_QT_VERSION:STRING=4"

+ 17 - 0
CMake/CircleCI/Dockerfile-qt5

@@ -0,0 +1,17 @@
+FROM thewtex/opengl:v0.1.0
+MAINTAINER Insight Software Consortium <community@itk.org>
+
+RUN REPO=http://cdn-fastly.deb.debian.org && \
+  echo "deb $REPO/debian jessie main\ndeb $REPO/debian jessie-updates main\ndeb $REPO/debian-security jessie/updates main" > /etc/apt/sources.list
+
+RUN apt-get update && apt-get install -y \
+  qttools5-dev \
+  libqt5xmlpatterns5-dev \
+  wget && \
+  rm -rf /var/lib/apt/lists/*
+
+RUN wget https://cmake.org/files/v3.7/cmake-3.7.1-Linux-x86_64.tar.gz && \
+  tar -xzf cmake-3.7.1-Linux-x86_64.tar.gz && \
+  rsync -avz cmake-3.7.1-Linux-x86_64/ /usr/local
+
+ENV APP "sudo chown -R user.user /usr/src/ && /usr/src/CTK/CMake/CircleCI/test.sh -DCTK_QT_VERSION:STRING=5"

+ 2 - 1
CMake/CircleCI/build.sh

@@ -2,4 +2,5 @@
 
 script_dir="`cd $(dirname $0); pwd`"
 
-docker build -t commontk/ctk-test:opengl $script_dir
+docker build -t commontk/ctk-test:opengl-qt4 $script_dir -f Dockerfile-qt4
+docker build -t commontk/ctk-test:opengl-qt5 $script_dir -f Dockerfile-qt5

+ 2 - 1
CMake/CircleCI/push.sh

@@ -5,4 +5,5 @@ die() {
   exit 1;
 }
 
-docker push commontk/ctk-test:opengl
+docker push commontk/ctk-test:opengl-qt4
+docker push commontk/ctk-test:opengl-qt5

+ 1 - 1
CMake/CircleCI/run.sh

@@ -2,4 +2,4 @@
 
 script_dir="`cd $(dirname $0); pwd`"
 
-$script_dir/run_opengl.sh -i commontk/ctk-test:opengl -p 6081 -r --env="CIRCLE_SHA1=$1" -r --env="CIRCLE_BRANCH=$2" -r --env="SITE_BUILD_TYPE=$3"
+$script_dir/run_opengl.sh -i commontk/ctk-test:opengl-$1 -c opengl-$1 -p 6081 -r --env="CIRCLE_SHA1=$2" -r --env="CIRCLE_BRANCH=$3" -r --env="SITE_BUILD_TYPE=$4"

+ 1 - 0
CMake/CircleCI/test.sh

@@ -15,5 +15,6 @@ mkdir /usr/src/CTK-build/CTK-build
 cd /usr/src/CTK-build/CTK-build || die "Could not cd into the build directory"
 
 ctest \
+  $1 \
   -S /usr/src/CTK/CMake/CircleCI/CircleCI_CTK_Docker.cmake \
   -VV || die "ctest failed"

+ 4 - 2
circle.yml

@@ -5,8 +5,10 @@ machine:
 dependencies:
   override:
     - docker info
-    - docker pull commontk/ctk-test:opengl
+    - docker pull commontk/ctk-test:opengl-qt4
+    - docker pull commontk/ctk-test:opengl-qt5
 
 test:
   override:
-    - ~/CTK/CMake/CircleCI/run.sh $CIRCLE_SHA1 $CIRCLE_BRANCH $SITE_BUILD_TYPE
+    - ~/CTK/CMake/CircleCI/run.sh qt4 $CIRCLE_SHA1 $CIRCLE_BRANCH $SITE_BUILD_TYPE
+    - ~/CTK/CMake/CircleCI/run.sh qt5 $CIRCLE_SHA1 $CIRCLE_BRANCH $SITE_BUILD_TYPE