@@ -12,73 +12,123 @@ cache:
12
12
- $HOME/.cache/pip
13
13
- $HOME/.local
14
14
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
-
27
15
# 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"
42
95
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"
49
113
50
114
install :
51
115
- |
52
116
if [[ ! -d "$HOME/.local/bin" ]]; then
53
117
mkdir "$HOME/.local/bin"
54
118
fi
55
119
- 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
60
124
- 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
68
125
- pip install --upgrade pygooglechart
69
126
- pip install --upgrade graphviz
70
127
- (pip install --upgrade FoBiS.py==2.2.8 && FoBiS.py --version)
71
128
- (pip install --upgrade ford==6.0.0 && ford --version)
72
129
- (pip install --upgrade git+https://github.com/dmeranda/demjson.git && jsonlint --version)
73
130
74
131
before_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
82
132
- |
83
133
if [ "$TRAVIS_TAG" ]; then
84
134
if [[ "v$TRAVIS_TAG" != "v$(cat .VERSION)" ]]; then
@@ -102,8 +152,9 @@ after_success:
102
152
- (yes | rm -r doc gh-pages) || true # wipe out doc dirs to avoid confusing codecov
103
153
- |
104
154
if [[ $CODE_COVERAGE == [yY]* ]]; then
155
+ alias gcov=$GCOV
105
156
rm json_*.F90-*unicode.gcov || true
106
157
mv json_*.F90.gcov src/
107
158
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
109
160
fi
0 commit comments