diff --git a/.travis.yml b/.travis.yml index c9399c63be..26f3ca91fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,25 +6,58 @@ cache: apt notifications: slack: dgtal:FObxCZFoeQkkaRuktJD5uhnN env: -- BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=ON - -DWITH_COVERAGE=true" -- BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=ON - -DWARNING_AS_ERROR=OFF" + - CONFIG="Debug,Magick,GMP,Coverage" + - CONFIG="Debug,Cairo,QGLviewer,HDF5" + - CONFIG="Documentation,Debug,Cairo,GMP" + +matrix: + fast_finish: true + exclude: + - os: linux + env: CONFIG="Documentation,Debug,Cairo,GMP" + - compiler: gcc + os: osx + env: CONFIG="Documentation,Debug,Cairo,GMP" + - os: osx + compiler: gcc + +before_install: + - openssl aes-256-cbc -K $encrypted_47769ec71275_key -iv $encrypted_47769ec71275_iv -in .travis/dgtal_rsa.enc -out .travis/dgtal_rsa -d + - chmod 600 .travis/dgtal_rsa + - if [ $CONFIG == "Debug,Magick,GMP,Coverage" ]; then BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=ON -DWITH_COVERAGE=true"; DOC="false"; fi + - if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5" ]; then BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=OFF"; DOC="false"; fi - if [ $CONFIG == "Documentation,Debug,Cairo,GMP" ]; then BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_CAIRO=true -DWITH_GMP=true"; DOC="true"; fi + + before_script: -- sudo apt-get -qq update -- sudo apt-get -qq install libboost-program-options-dev libcairo2-dev libgraphicsmagick++1-dev - libboost-system-dev libgmp-dev libqglviewer-qt4-dev libinsighttoolkit3-dev libgdcm2-dev -- gem install coveralls-lcov -- sudo apt-get install -y lcov + - if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get -qq update && sudo apt-get -qq install libhdf5-serial-dev libboost-program-options-dev libcairo2-dev doxygen graphviz libgraphicsmagick++1-dev libboost-system-dev libgmp-dev libqglviewer-qt4-dev libinsighttoolkit3-dev libgdcm2-dev lcov; fi + - if [ $TRAVIS_OS_NAME == linux ]; then gem install coveralls-lcov; fi + - if [ $TRAVIS_OS_NAME == osx ]; then brew update; brew install boost doxygen hdf5 graphviz graphicsmagick homebrew/science/insighttoolkit gmp libqglviewer; sudo ln -s /usr/local/Cellar/libqglviewer/2.5.1/QGLViewer.framework /Library/Frameworks/ ; echo "done";fi + script: -- cmake . $BTYPE -- make DGtal && make DGtalIO -- cd examples && make -j 3 -- cd ../tests && make && cd ..&& make test -- tests/geometry/surfaces/testTensorVoting + - cmake . $BTYPE + - echo $DOC + - echo $BTYPE + - if [ $DOC == "false" ]; then make DGtal && make DGtalIO; fi + - if [ $DOC == "false" ]; then cd examples && make -j 3 ; fi + - if [ $DOC == "false" ]; then cd ../tests && make && cd .. ; fi + - if [ $DOC == "false" ]; then make test; fi + after_script: -- make lcov -- coveralls-lcov --source-encoding=ISO-8859-1 coverage/stap.info -before_install: -- openssl aes-256-cbc -K $encrypted_47769ec71275_key -iv $encrypted_47769ec71275_iv - -in dgtal_rsa.enc -out ~\/.ssh/dgtal_rsa -d + - if [ $DOC == "false" ]; then make lcov; fi + - if [ $DOC == "false" ]; then coveralls-lcov --source-encoding=ISO-8859-1 coverage/stap.info; fi + + +### +## Building the documentation +### + +after_success: + - if [ $DOC == "true" ]; then if [ $TRAVIS_PULL_REQUEST == "false" ]; then make doc; fi; fi + - if [ $DOC == "true" ]; then if [ $TRAVIS_PULL_REQUEST == "false" ]; then rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/ dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/nightly/; fi; f + - if [ $DOC == "true" ]; then if [ $TRAVIS_PULL_REQUEST == "false" ]; then if [ $TRAVIS_OS_NAME == "osx" ]; then cd html; make ; wget http://dgtal.org/doc/docset/template.tgz ; tar zxvf template.tgz ; mv template/* org.dgtal.docset ; tar zcvf DGtal-devel.tgz org.dgtal.docset ; cd .. ;rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/DGtal-devel.tgz dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/docset ; fi; fi; fi + +os: + - linux + - osx + +osx_image: xcode61 diff --git a/.travis/dgtal_rsa.enc b/.travis/dgtal_rsa.enc index 64165669f3..3073af841a 100644 Binary files a/.travis/dgtal_rsa.enc and b/.travis/dgtal_rsa.enc differ diff --git a/ChangeLog.md b/ChangeLog.md index a0c1c0c439..b54015c897 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,13 @@ ## New Features / Critical Changes +- *Configuration* + - Continuous integration enabled on both linux and macosx + systems. Furthermore, the nightly build documentation is + automatically deployed. (David Coeurjolly, + [#955](https://github.com/DGtal-team/DGtal/pull/955)) + + ## Changes - *Geometry Package* @@ -12,7 +19,7 @@ fitting. It requires to have the Patate library installed (and WITH_PATATE=true): http://patate.gforge.inria.fr/html/. See SphereFittingEstimator (David Coeurjolly, - [929](https://github.com/DGtal-team/DGtal/pull/929)) + [#929](https://github.com/DGtal-team/DGtal/pull/929)) - *Math Package* - Utilities added (OrderedLinearRegression) to perform sequential