Skip to content

Commit ca99a2d

Browse files
Merge pull request #414 from jacobwilliams/180-expanded-compiler-tests-on-travis
Expanded compiler tests on travis
2 parents 7274ff5 + 5fdb2bf commit ca99a2d

File tree

1 file changed

+102
-51
lines changed

1 file changed

+102
-51
lines changed

.travis.yml

Lines changed: 102 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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

50114
install:
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

74131
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
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

Comments
 (0)