Skip to content

Commit

Permalink
Merge pull request #1371 from dcoeurjo/deployDoc
Browse files Browse the repository at this point in the history
[WIP] Deploy doc
  • Loading branch information
dcoeurjo committed Dec 24, 2018
2 parents fef5678 + 476522b commit 9b56df8
Show file tree
Hide file tree
Showing 35 changed files with 1,910 additions and 879 deletions.
111 changes: 41 additions & 70 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,20 @@ os:
- linux
- osx

cache: apt

notifications:
slack: dgtal:FObxCZFoeQkkaRuktJD5uhnN

########
# matrix details:
# - one build for the documentation on macosx (clang) and only for commits on
# DGtal-team repo (no pull request). Encrypted var. required.
# - No gcc on macos
# - clang build of dgtaltools in linux only. In this case, some dependencies are considerd in DGtal (GMP, QGLViewer, CAIRO, HDF5, FFTW3)
# - Otherwise, 2 os x 2 configs
#
########
env:
- CONFIG="Debug,Magick,GMP,ITK,FFTW3"
- CONFIG="Debug,Cairo,QGLviewer,HDF5,EIGEN"
- CONFIG="Documentation"
- CONFIG="DGtalTools"

matrix:
fast_finish: true
exclude:
- os: osx
env: CONFIG="Documentation"
- compiler: gcc
os: linux
env: CONFIG="Documentation"
- compiler: gcc
env: CONFIG="DGtalTools"
- os: osx
env: CONFIG="DGtalTools"
- os: osx
compiler: gcc

cache: apt

notifications:
slack: dgtal:FObxCZFoeQkkaRuktJD5uhnN

secure: "Ra00iyQ+5wm7G3XfaaI40aKgfcGTigfmEd+3/TY1hYcjYnJvNOG0dekolcMDSelE8SfqLcWYnK6+vtOCmyZuUWheUhA+83Tgq/bIH6dMzSvLkJdyq2D9me4sX6zx3ct90swP7Adj8EBHmv61pH5OBeEcmNWJNIZmNQs3+1awca4="

##Deps for linux builds
addons:
apt:
sources:
Expand All @@ -60,9 +38,6 @@ addons:
- libhdf5-serial-dev
- libboost-dev
- libcairo2-dev
- doxygen
- doxygen-latex
- graphviz
- libboost-system-dev
- libboost-program-options-dev
- libgmp-dev
Expand All @@ -72,47 +47,43 @@ addons:
- libinsighttoolkit3-dev
- libfftw3-dev
- g++-5

before_install:
- source .travis/before_global.sh
- echo "C++ ===> $CXXCOMPILER"
- if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5,EIGEN" ]; then source "$SRC_DIR/.travis/install_eigen.sh" ; fi
- echo $EIGEN_ROOT
- if [ $CONFIG == "Documentation" ]; then export BUILD_DOC="true"; if [ $OriginalRepo == "true" ] && [ $TRAVIS_PULL_REQUEST == "false" ]; then export UPLOAD_DOC="true"; fi; fi
- if [ $CONFIG == "Debug,Magick,GMP,ITK,FFTW3" ]; then export BUILD_ALL="true"; export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_FFTW3=true -DWARNING_AS_ERROR=ON"; fi
- if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5,EIGEN" ]; then export BUILD_ALL="true"; export BUILD_DEC="true"; export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DWITH_EIGEN=true -DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'"; fi
- if [ $CONFIG == "DGtalTools" ]; then export BUILD_DGTAL="true"; export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true"; fi
- if [ $UPLOAD_DOC == "true" ]; then openssl aes-256-cbc -K $encrypted_47769ec71275_key -iv $encrypted_47769ec71275_iv -in "$SRC_DIR/.travis/dgtal_rsa.enc" -out "$SRC_DIR/.travis/dgtal_rsa" -d; chmod 600 "$SRC_DIR/.travis/dgtal_rsa"; fi
- if [ $BUILD_DOC == "true" ]; then wget --no-check-certificate -O "$BUILD_DIR/DGtalTools-tagfile" http://dgtal.org/doc/tags/DGtalTools-tagfile; fi
- if [ $BUILD_DOC == "true" ]; then "$SRC_DIR/.travis/install_doxygen.sh"; export BTYPE="-DDOXYGEN_EXECUTABLE=$HOME/doxygen/doxygen-1.8.10/bin/doxygen"; fi


########
# Deps.
########
before_script:
- if [ $TRAVIS_OS_NAME == linux ]; then echo "All done."; fi
- if [ $TRAVIS_OS_NAME == osx ]; then source "$SRC_DIR/.travis/install_deps_macos.sh"; fi
- source "$SRC_DIR/.travis/fix_step_dependencies.sh"
- ninja-build
- doxygen
- graphviz
- flex
- bison

############
# Main rules
############
script:
- "$SRC_DIR/.travis/configure_build.sh"
- if [ $BUILD_DGTAL == "true" ]; then "$SRC_DIR/.travis/build_dgtal.sh"; fi
- if [ $BUILD_DEC == "true" ]; then "$SRC_DIR/.travis/build_dec.sh"; fi
- if [ $BUILD_EXAMPLES == "true" ]; then "$SRC_DIR/.travis/build_examples.sh"; fi
- if [ $BUILD_TESTS == "true" ]; then "$SRC_DIR/.travis/build_tests.sh"; fi
- if [ $BUILD_TESTS == "true" ]; then "$SRC_DIR/.travis/check_tests.sh"; fi
- if [ $BUILD_DGTAL == "true" ]; then "$SRC_DIR/.travis/build_all.sh"; fi
- if [ $CONFIG == "DGtalTools" ]; then "$SRC_DIR/.travis/getAndCheckDGtalTools.sh" ; fi
- if [ $BUILD_DOC == "true" ]; then "$SRC_DIR/.travis/build_doc.sh"; fi
- if [ $BUILD_DOC == "true" ]; then "$SRC_DIR/.travis/checkDoxygenDocumentation.sh"; fi

- source .travis/before_global.sh
- source .travis/build_all.sh
- cd "$TRAVIS_BUILD_DIR/build/" ; echo "Checking, dir=$PWD"
- source ../.travis/check_tests.sh

###########
## Building the documentation
###########
after_success:
- if [ $UPLOAD_DOC == "true" ]; then echo "Uploading the doc..."; "$SRC_DIR/.travis/publish_doc.sh"; fi
jobs:
include:
- stage: "DGtalTools"
name: "Testing DGtalTools + DGtal with examples"
script:
- source .travis/before_global.sh
- source .travis/build_dgtal.sh
- cd "$TRAVIS_BUILD_DIR" ; echo "Checking, dir=$PWD"
- source .travis/getAndCheckDGtalTools.sh
- stage: "Documentation"
name: "Building and deploying the documentation"
script: #need doxygen first
- source .travis/before_global.sh
- source .travis/install_doxygen.sh
- cd "$TRAVIS_BUILD_DIR/build"
- source ../.travis/build_dgtal_doc.sh
- cd "$TRAVIS_BUILD_DIR/build"
# - source ../.travis/checkDoxygenDocumentation.sh
deploy:
provider: pages
skip-cleanup: true
github-token: $GITHUB_TOKEN
keep-history: true
repo: DGtal-team/dgtal.github.io
target-branch: master
19 changes: 6 additions & 13 deletions .travis/before_global.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,36 +19,29 @@ echo $SCRIPT_END

$SCRIPT_BEGIN

# Main steps configuration
export BUILD_DOC="false"
export UPLOAD_DOC="false"
export BUILD_DGTAL="false"
export BUILD_EXAMPLES="false"
export BUILD_TESTS="false"
export BUILD_DEC="false"
export BUILD_ALL="false" # Build DGtal, examples and tests

# Build default options
export BTYPE=
export BJOBS=2 # See https://docs.travis-ci.com/user/reference/overview/#Virtualisation-Environment-vs-Operating-System

# Compiler configuration
export CCOMPILER=$CC
export CXXCOMPILER=$CXX
if [ "$CC" == "gcc" ]

if [ $TRAVIS_OS_NAME == linux ]
then
if [ "$CC" == "gcc" ]
then
export CCOMPILER=gcc-5
export CXXCOMPILER=g++-5
fi
fi

# Build directory
mkdir -p "$BUILD_DIR"
mkdir -p build

export MAGICK_CONFIG_PATH=".travis/delegate.mgk"
$MAGICK_CODER_MODULE_PATH
$MAGICK_FILTER_MODULE_PATH

# Preparing folders
mkdir -p "$SRC_DIR/deps/local"

$SCRIPT_END
42 changes: 39 additions & 3 deletions .travis/build_all.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
#!/bin/bash
$SCRIPT_BEGIN

### DGtal build
cd "$BUILD_DIR"
make -j $BJOBS

export CONFIG="Debug,Magick,GMP,ITK,FFTW3,Debug,Cairo,QGLviewer,HDF5,EIGEN"

# OS dependent deps
source "$SRC_DIR/.travis/install_eigen.sh"
echo $EIGEN_ROOT

export BTYPE="$BTYPE -DBUILD_EXAMPLES=false -DBUILD_TESTING=true"
export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true\
-DWITH_FFTW3=true -DWARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Debug \
-DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DWITH_EIGEN=true\
-DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'"

if [ $TRAVIS_OS_NAME == osx ]; then source "$SRC_DIR/.travis/install_deps_macos.sh"; fi

#############################
# cmake
#############################
#Build directory
cd build
# Common build options
export BTYPE="$BTYPE -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER"

# Cmake
echo "Using C++ = $CXXCOMPILER"
echo "CMake options = $BTYPE"
echo "Pwd = $PWD"
echo "SRC_dir=$SRC_DIR"
cmake "$SRC_DIR" $BTYPE -G Ninja

#############################
# make all
#############################
echo "Preparing the build..."

#Sequential DEC examples, this would also build library
#make examplePropagation
ninja testDiscreteExteriorCalculusExtended
#make exampleDiscreteExteriorCalculusChladni
ninja
$SCRIPT_END
14 changes: 0 additions & 14 deletions .travis/build_dec.sh

This file was deleted.

40 changes: 37 additions & 3 deletions .travis/build_dgtal.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,42 @@
#!/bin/bash
$SCRIPT_BEGIN

### DGtal build
cd "$BUILD_DIR"
make -j $BJOBS DGtal
#cd "$BUILD_DIR"

export CONFIG="Debug,Magick,GMP,ITK,FFTW3,Debug,Cairo,QGLviewer,HDF5,EIGEN"

# OS dependent deps
source "$SRC_DIR/.travis/install_eigen.sh"
echo $EIGEN_ROOT

export BTYPE="$BTYPE -DBUILD_EXAMPLES=true -DBUILD_TESTING=false"
export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true\
-DWITH_FFTW3=true -DWARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Debug \
-DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DWITH_EIGEN=true\
-DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'"

if [ $TRAVIS_OS_NAME == osx ]; then source "$SRC_DIR/.travis/install_deps_macos.sh"; fi

#############################
# cmake
#############################
#Build directory
cd build
echo "Build folder= $BUILD_DIR"

# Common build options
export BTYPE="$BTYPE -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER"

# Cmake
echo "Using C++ = $CXXCOMPILER"
echo "CMake options = $BTYPE"
cmake "$SRC_DIR" $BTYPE -G Ninja

#############################
# make all
#############################
echo "Preparing the build..."
#cd "$BUILD_DIR"
#Sequential DEC examples, this would also build library
ninja
$SCRIPT_END
51 changes: 51 additions & 0 deletions .travis/build_dgtal_doc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash
$SCRIPT_BEGIN

#cd "$BUILD_DIR"

export CONFIG="Debug,Magick,GMP,ITK,FFTW3,Debug,Cairo,QGLviewer,HDF5,EIGEN"

# OS dependent deps
source "$SRC_DIR/.travis/install_eigen.sh"
echo $EIGEN_ROOT
cd build
echo "SRCDIR=$SRC_DIR"
echo "PWDDDDD = $PWD"
echo " -DDOXYGEN_EXECUTABLE=$HOME/doxygen/doxygen-1.8.14/bin/doxygen"

export BTYPE="$BTYPE -DBUILD_EXAMPLES=true -DBUILD_TESTING=false"
export BTYPE="$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true\
-DWITH_FFTW3=true -DWARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Debug \
-DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DWITH_EIGEN=true\
-DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'\
-DDOXYGEN_EXECUTABLE=$TRAVIS_BUILD_DIR/doxygen/bin/doxygen"


echo "export BTYPE=$BTYPE -DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true\
-DWITH_FFTW3=true -DWARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Debug \
-DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DWITH_EIGEN=true\
-DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'\
-DDOXYGEN_EXECUTABLE=$TRAVIS_BUILD_DIR/doxygen/bin/doxygen"

#############################
# cmake
#############################
#Build directory
cd build
echo "Build folder= $BUILD_DIR"

# Common build options
export BTYPE="$BTYPE -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER"

# Cmake
echo "Using C++ = $CXXCOMPILER"
echo "CMake options = $BTYPE"
cmake "$SRC_DIR" $BTYPE

### Downloading tag file for DGtalTools
wget --no-check-certificate -O "$BUILD_DIR/DGtalTools-tagfile" http://dgtal.org/doc/tags/DGtalTools-tagfile;

### DGtal Doc
make doc > buildDoc.log

$SCRIPT_END
8 changes: 0 additions & 8 deletions .travis/build_doc.sh

This file was deleted.

8 changes: 0 additions & 8 deletions .travis/build_examples.sh

This file was deleted.

8 changes: 0 additions & 8 deletions .travis/build_tests.sh

This file was deleted.

4 changes: 2 additions & 2 deletions .travis/checkDoxygenDocumentation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $SCRIPT_BEGIN

return_code=0

DOXYGENLOG=${BUILD_DIR}/doxygen.log
DOXYGENLOG=doxygen.log

## We first check that the doxygen.log is empty
if [[ -f "$DOXYGENLOG" ]]
Expand Down Expand Up @@ -56,7 +56,7 @@ cd ..
## We check examples consistency
#
# TODO
#
#

$SCRIPT_END

Expand Down
Loading

0 comments on commit 9b56df8

Please sign in to comment.