@@ -12,73 +12,123 @@ 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+ - GFORTRAN=gfortran-6
32+ - GCOV=gcov-6
33+ # CMake build with unit tests, no documentation, with coverage analysis
34+ # No unicode so that coverage combined with the build script will cover unicode
35+ # and non-unicode code paths
36+ - BUILD_SCRIPT="mkdir cmake-build && cd cmake-build && cmake .. && make -j 4 check"
37+ - CODE_COVERAGE="no"
38+ - DEPLOY_DOCUMENTATION="no"
39+
40+ - os : linux
41+ dist : trusty
42+ addons :
43+ apt :
44+ sources :
45+ - ubuntu-toolchain-r-test
46+ packages :
47+ - gfortran-6
48+ - binutils
49+ - python-pip
50+ - graphviz
51+ env :
52+ - GFORTRAN=gfortran-6
53+ - GCOV=gcov-6
54+ # build with build.sh, make documentation, run unit tests
55+ # and perform coverage analysis
56+ - BUILD_SCRIPT="./build.sh --coverage --skip-documentation && ./build.sh --coverage --enable-unicode"
57+ - CODE_COVERAGE="yes"
58+ - DEPLOY_DOCUMENTATION="yes"
59+
60+ - os : linux
61+ dist : trusty
62+ addons :
63+ apt :
64+ sources :
65+ - ubuntu-toolchain-r-test
66+ packages :
67+ - gfortran-7
68+ - binutils
69+ - python-pip
70+ env :
71+ - GFORTRAN=gfortran-7
72+ - GCOV=gcov-7
73+ # build with build.sh, run unit tests
74+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
75+ - CODE_COVERAGE="no"
76+ - DEPLOY_DOCUMENTATION="no"
77+
78+ - os : linux
79+ dist : trusty
80+ addons :
81+ apt :
82+ sources :
83+ - ubuntu-toolchain-r-test
84+ packages :
85+ - gfortran-8
86+ - binutils
87+ - python-pip
88+ env :
89+ - GFORTRAN=gfortran-8
90+ - GCOV=gcov-8
91+ # build with build.sh, run unit tests
92+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
93+ - CODE_COVERAGE="no"
94+ - DEPLOY_DOCUMENTATION="no"
4295
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"
96+ - os : linux
97+ dist : trusty
98+ addons :
99+ apt :
100+ sources :
101+ - ubuntu-toolchain-r-test
102+ packages :
103+ - gfortran-9
104+ - binutils
105+ - python-pip
106+ env :
107+ - GFORTRAN=gfortran-9
108+ - GCOV=gcov-9
109+ # build with build.sh, run unit tests
110+ - BUILD_SCRIPT="./build.sh --skip-documentation && ./build.sh --skip-documentation --enable-unicode"
111+ - CODE_COVERAGE="no"
112+ - DEPLOY_DOCUMENTATION="no"
49113
50114install :
51115 - |
52116 if [[ ! -d "$HOME/.local/bin" ]]; then
53117 mkdir "$HOME/.local/bin"
54118 fi
55119 - 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
120+ - export FC=/usr/bin/$GFORTRAN
121+ - ln -fs $FC "$HOME/.local/bin/gfortran" && gfortran --version
122+ - ls -l $FC
123+ - ln -fs /usr/bin/$GCOV "$HOME/.local/bin/gcov" && gcov --version
60124 - 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
68125 - pip install --upgrade pygooglechart
69126 - pip install --upgrade graphviz
70127 - (pip install --upgrade FoBiS.py==2.2.8 && FoBiS.py --version)
71128 - (pip install --upgrade ford==6.0.0 && ford --version)
72129 - (pip install --upgrade git+https://github.com/dmeranda/demjson.git && jsonlint --version)
73130
74131before_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
82132 - |
83133 if [ "$TRAVIS_TAG" ]; then
84134 if [[ "v$TRAVIS_TAG" != "v$(cat .VERSION)" ]]; then
@@ -102,8 +152,9 @@ after_success:
102152 - (yes | rm -r doc gh-pages) || true # wipe out doc dirs to avoid confusing codecov
103153 - |
104154 if [[ $CODE_COVERAGE == [yY]* ]]; then
155+ alias gcov=$GCOV
105156 rm json_*.F90-*unicode.gcov || true
106157 mv json_*.F90.gcov src/
107158 mv jf_test*.[fF]90.gcov src/tests/
108- bash <(curl -s https://codecov.io/bash) -v -X gcov
159+ bash <(curl -s https://codecov.io/bash) -v -X $GCOV
109160 fi
0 commit comments