File: .travis.yml

package info (click to toggle)
mrtrix3 3.0~rc3+git135-g2b8e7d0c2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 34,248 kB
  • sloc: cpp: 117,101; python: 6,472; sh: 638; makefile: 226; xml: 39; ansic: 20
file content (134 lines) | stat: -rw-r--r-- 4,754 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
language: cpp
cache:
  apt: true
  packages: true
  directories:
    - $HOME/.cache/pip
addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
      - llvm-toolchain-trusty-6.0
    packages:
      - g++-7
      - clang-6.0
      - zlib1g-dev
      - libqt4-opengl-dev
      - python3
      - python-pip
      - python3-pip
matrix:
  include:
    #################################################
    # Run a single OSX job to test compilation only #
    #################################################
    - os: osx
      env: CFLAGS="-Werror" TRAVIS_CXX=clang++ py=python test=build
    ###############################################
    # All subsequent tests are performed on Linux #
    ###############################################
    #####################################################################
    # Build binaries, run tests and check documentation: Clang, Python3 #
    # (Note: Run this one first, since it'll be the longest job)        #
    #####################################################################
    - os: linux
      env: CFLAGS="-Werror" TRAVIS_CXX=clang++-6.0 py=python3 test=run
    #######################################################################
    # Build binaries (without optimisation): GCC, Python2                 #
    # (Also ensures both Python 2 and 3 are tested for configure & build) #
    #######################################################################
    - os: linux
      env: CFLAGS="-Werror" TRAVIS_CXX=g++-7 py=python2 test=build
    #######################################################################
    # Generate documentation through Sphinx; Use both Python2 and Python3 #
    #######################################################################
    - os: linux
      env: py=python2 test=sphinx
    - os: linux
      env: py=python3 test=sphinx
    ###########################################################
    # Run the check_syntax script; only needs to be done once #
    ###########################################################
    - os: linux
      env: test=syntax
    ##############################################
    # Run PyLint tests; both Python2 and Python3 #
    ##############################################
    - os: linux
      env: py=python2 test=pylint
    - os: linux
      env: py=python3 test=pylint
install:
  ##################################################
  # OSX build requires explicit installation of QT #
  ##################################################
  - |
    if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
        brew install qt5
        brew link --force qt5
    fi
  #########################################
  # Installation requirements for MRtrix3 #
  #########################################
  - export NUMBER_OF_PROCESSORS=2
  - export PATH=`pwd`/bin:${PATH}
  - export PYTHONPATH=`pwd`/lib:${PYTHONPATH}
  - |
    if [[ "${test}" == "sphinx" ]]; then
        if [[ "${py}" == "python2" ]]; then
            pip install urllib3[secure];
            pip install --user recommonmark sphinx sphinx-rtd-theme;
        else
            pip3 install --user recommonmark sphinx sphinx-rtd-theme;
        fi
    fi
  - |
    if [[ "${test}" == "pylint" ]]; then
        if [[ "${py}" == "python2" ]]; then
            pip install --user pylint;
        else
            pip3 install --user --upgrade setuptools;
            pip3 install --user pylint;
        fi
    fi
  - |
    if [[ "${test}" == "build" || "${test}" == "run" ]]; then
        export EIGEN_CFLAGS=-I`pwd`/../eigen;
        ( cd ..; git clone https://github.com/eigenteam/eigen-git-mirror.git eigen; cd eigen; git checkout branches/3.3 )
    fi
before_script:
  #######################################################################################################################
  # TravisCI sets CXX based on what it thinks the compiler should be; therefore we need to set it as late as possible   #
  # Since this is not needed for the installation section, only for the travis.sh script, moved this to "before_script" #
  #######################################################################################################################
  - |
    if [[ -n "${TRAVIS_CXX}" ]]; then
      export CXX=${TRAVIS_CXX}
    fi
script:
  - ./travis.sh
before_cache:
  - rm -f $HOME/.cache/pip/log/debug.log
after_failure:
  - |
    case "${test}" in # CLICK HERE TO FIND REPORTED ERRORS
      "sphinx")
        cat sphinx.log
        ;;
      "syntax")
        cat syntax.log
        ;;
      "pylint")
        cat pylint.log
        ;;
      "build")
        cat configure.log
        cat build.log
        ;;
      *)
        cat configure.log
        cat build.log
        cat testing.log
        cat gitdiff.log
    esac
  - sleep 10