@@ -12,73 +12,121 @@ cache:
1212 - $HOME/.cache/pip
1313 - $HOME/.local
1414
15- addons :
16- apt :
17- sources :
18- - kalakris-cmake
19- - ubuntu-toolchain-r-test
20- packages :
21- - gfortran-6
22- - binutils
23- - cmake
24- - python-pip
25- - graphviz
26-
2715# Build matrix: Run the three build systems and tests in parallel
28- env :
29- global :
30- - CHECK_README_PROGS="no"
31- matrix :
32- # CMake build with unit tests, no documentation, with coverage analysis
33- # No unicode so that coverage combined with the build script will cover unicode
34- # and non-unicode code paths
35- - >
36- BUILD_SCRIPT="mkdir cmake-build &&
37- cd cmake-build &&
38- cmake .. &&
39- make -j 4 check"
40- CODE_COVERAGE="no"
41- DEPLOY_DOCUMENTATION="no"
16+ matrix :
17+ include :
18+ - os : linux
19+ dist : trusty
20+ addons :
21+ apt :
22+ sources :
23+ - kalakris-cmake
24+ - ubuntu-toolchain-r-test
25+ packages :
26+ - gfortran-6
27+ - binutils
28+ - cmake
29+ - python-pip
30+ env :
31+ - FC=gfortran-6
32+ # CMake build with unit tests, no documentation, with coverage analysis
33+ # No unicode so that coverage combined with the build script will cover unicode
34+ # and non-unicode code paths
35+ - BUILD_SCRIPT="mkdir cmake-build && cd cmake-build && cmake .. && make -j 4 check"
36+ - CODE_COVERAGE="no"
37+ - DEPLOY_DOCUMENTATION="no"
38+
39+ - os : linux
40+ dist : trusty
41+ addons :
42+ apt :
43+ sources :
44+ - ubuntu-toolchain-r-test
45+ packages :
46+ - gfortran-6
47+ - binutils
48+ - python-pip
49+ - graphviz
50+ env :
51+ - FC=gfortran-6
52+ - GCOV=gcov-6
53+ # build with build.sh, make documentation, run unit tests
54+ # and perform coverage analysis
55+ - BUILD_SCRIPT="./build.sh --coverage --skip-documentation && ./build.sh --coverage --enable-unicode"
56+ - CODE_COVERAGE="yes"
57+ - DEPLOY_DOCUMENTATION="yes"
58+
59+ - os : linux
60+ dist : trusty
61+ addons :
62+ apt :
63+ sources :
64+ - ubuntu-toolchain-r-test
65+ packages :
66+ - gfortran-7
67+ - binutils
68+ - python-pip
69+ env :
70+ - FC=gfortran-7
71+ # build with build.sh, run unit tests
72+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
73+ - CODE_COVERAGE="no"
74+ - DEPLOY_DOCUMENTATION="no"
4275
43- # build with build.sh, make documentation, run unit tests and perform coverage analysis
44- - >
45- BUILD_SCRIPT="./build.sh --coverage --skip-documentation &&
46- ./build.sh --coverage --enable-unicode"
47- CODE_COVERAGE="yes"
48- DEPLOY_DOCUMENTATION="yes"
76+ - os : linux
77+ dist : trusty
78+ addons :
79+ apt :
80+ sources :
81+ - ubuntu-toolchain-r-test
82+ packages :
83+ - gfortran-8
84+ - binutils
85+ - python-pip
86+ env :
87+ - FC=gfortran-8
88+ # build with build.sh, run unit tests
89+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
90+ - CODE_COVERAGE="no"
91+ - DEPLOY_DOCUMENTATION="no"
92+
93+ - os : linux
94+ dist : trusty
95+ addons :
96+ apt :
97+ sources :
98+ - ubuntu-toolchain-r-test
99+ packages :
100+ - gfortran-9
101+ - binutils
102+ - python-pip
103+ env :
104+ - FC=gfortran-9
105+ # build with build.sh, run unit tests
106+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
107+ - CODE_COVERAGE="no"
108+ - DEPLOY_DOCUMENTATION="no"
49109
50110install :
51- - |
52- if [[ ! -d "$HOME/.local/bin" ]]; then
53- mkdir "$HOME/.local/bin"
54- fi
55- - export PATH="$HOME/.local/bin:$PATH"
56- - export FC=/usr/bin/gfortran-6
57- - ln -fs /usr/bin/gfortran-6 "$HOME/.local/bin/gfortran" && gfortran --version
58- - ls -l /usr/bin/gfortran-6
59- - ln -fs /usr/bin/gcov-6 "$HOME/.local/bin/gcov" && gcov --version
111+ # - |
112+ # if [[ ! -d "$HOME/.local/bin" ]]; then
113+ # mkdir "$HOME/.local/bin"
114+ # fi
115+ # - export PATH="$HOME/.local/bin:$PATH"
116+ # - export FC=/usr/bin/gfortran-6
117+ # - ln -fs /usr/bin/gfortran-6 "$HOME/.local/bin/gfortran" && gfortran --version
118+ # - ls -l /usr/bin/gfortran-6
119+ # - ln -fs /usr/bin/gcov-6 "$HOME/.local/bin/gcov" && gcov --version
120+ - gcov --version
121+ - gfortran --version
60122 - perl --version
61- - |
62- if ! which f90split; then
63- wget http://people.sc.fsu.edu/~jburkardt/f_src/f90split/f90split.f90 && \
64- gfortran -o f90split f90split.f90 && \
65- mv f90split "$HOME/.local/bin/" && \
66- rm f90split.f90
67- fi
68123 - pip install --upgrade pygooglechart
69124 - pip install --upgrade graphviz
70125 - (pip install --upgrade FoBiS.py==2.2.8 && FoBiS.py --version)
71126 - (pip install --upgrade ford==6.0.0 && ford --version)
72127 - (pip install --upgrade git+https://github.com/dmeranda/demjson.git && jsonlint --version)
73128
74129before_script :
75- - |
76- if [[ $CHECK_README_PROGS == [yY]* ]]; then
77- f90split README.md && \
78- for f in example*.md; do
79- mv $f src/tests/jf_test_${f%.md}.f90
80- done
81- fi
82130 - |
83131 if [ "$TRAVIS_TAG" ]; then
84132 if [[ "v$TRAVIS_TAG" != "v$(cat .VERSION)" ]]; then
@@ -102,8 +150,9 @@ after_success:
102150 - (yes | rm -r doc gh-pages) || true # wipe out doc dirs to avoid confusing codecov
103151 - |
104152 if [[ $CODE_COVERAGE == [yY]* ]]; then
153+ alias gcov=$GCOV
105154 rm json_*.F90-*unicode.gcov || true
106155 mv json_*.F90.gcov src/
107156 mv jf_test*.[fF]90.gcov src/tests/
108- bash <(curl -s https://codecov.io/bash) -v -X gcov
157+ bash <(curl -s https://codecov.io/bash) -v -X $GCOV
109158 fi
0 commit comments