9
9
- MPICH_DIR="$HOME/.local/usr/mpich"
10
10
- MPICH_BOT_URL_HEAD="https://github.com/sourceryinstitute/opencoarrays/files/64308/"
11
11
- MPICH_BOT_URL_TAIL="mpich-3.2.yosemite.bottle.1.tar.gz"
12
- - OSX_PACKAGES="gcc cmake"
13
- - BUILD_TYPE="CodeCoverage"
14
12
15
13
matrix :
16
14
include :
17
15
- os : osx
16
+ env :
17
+ - BUILD_TYPE="CodeCoverage"
18
+ OSX_PACKAGES="gcc cmake"
19
+ - os : osx
20
+ env :
21
+ - BUILD_TYPE="Release"
22
+ OSX_PACKAGES="gcc cmake"
23
+ - os : osx
24
+ env :
25
+ - BUILD_TYPE="InstallScript"
26
+ OSX_PACKAGES="gcc"
27
+ - os : linux
28
+ sudo : false
29
+ env :
30
+ - BUILD_TYPE="CodeCoverage"
31
+ cache :
32
+ directories :
33
+ - " $CACHE"
34
+ addons :
35
+ apt :
36
+ sources :
37
+ - george-edison55-precise-backports
38
+ - ubuntu-toolchain-r-test
39
+ packages :
40
+ - gcc-5
41
+ - gfortran-5
42
+ - binutils
43
+ - cmake-data
44
+ - cmake
18
45
- os : linux
19
46
sudo : false
47
+ env :
48
+ - BUILD_TYPE="Release"
20
49
cache :
21
50
directories :
22
51
- " $CACHE"
23
- - " $HOME/.cache/pip"
24
52
addons :
25
53
apt :
26
54
sources :
@@ -32,6 +60,17 @@ matrix:
32
60
- binutils
33
61
- cmake-data
34
62
- cmake
63
+ - os : linux
64
+ sudo : false
65
+ env :
66
+ - BUILD_TYPE="InstallScript"
67
+ addons :
68
+ apt :
69
+ sources :
70
+ - ubuntu-toolchain-r-test
71
+ packages :
72
+ - gcc-5
73
+ - gfortran-5
35
74
36
75
before_install :
37
76
- |
@@ -45,78 +84,103 @@ before_install:
45
84
export CC=gcc-5
46
85
$FC --version
47
86
$CC --version
48
- cmake --version
49
87
fi
50
88
51
89
install :
52
90
- |
53
91
if [[ $TRAVIS ]] && [[ "X$TRAVIS_OS_NAME" = "Xosx" ]]; then
54
- brew update > /dev/null
92
+ brew update > /dev/null
55
93
56
94
for pkg in $OSX_PACKAGES; do
57
95
[[ "$(brew ls --versions $pkg)" ]] || brew install --force-bottle $pkg
58
96
brew outdated $pkg || brew upgrade --force-bottle $pkg
59
97
done
60
98
export FC=gfortran-5
61
99
export CC=gcc-5
62
- if ! [[ "$(brew ls --versions mpich)" ]]; then
100
+ if ! [[ "$(brew ls --versions mpich)" ]] && [[ "X$BUILD_TYPE" != "XInstallScript" ]] ; then
63
101
wget ${MPICH_BOT_URL_HEAD}${MPICH_BOT_URL_TAIL}
64
102
brew install --force-bottle ${MPICH_BOT_URL_TAIL}
65
103
if ! [[ "$(brew ls --versions mpich)" ]]; then
66
104
brew install --force-bottle mpich
67
105
fi
106
+ mpif90 --version
107
+ mpicc --version
108
+ cmake --version
109
+ export FC=mpif90
110
+ export CC=mpicc
111
+ elif [[ "X$BUILD_TYPE" = "XInstallScript" ]]; then # uninstall some stuff if present
112
+ [[ "$(brew ls --versions cmake)" ]] && brew rm cmake || true
113
+ [[ "$(brew ls --versions mpich)" ]] && brew rm mpich || true
114
+ [[ "$(brew ls --versions openmpi)" ]] && brew rm openmpi || true
68
115
fi
69
- else
116
+ elif [[ "X$BUILD_TYPE" != "XInstallScript" ]]; then # Ubuntu on Travis-CI, NOT testing install.sh
70
117
if ! ( [[ -x "$HOME/.local/bin/mpif90" ]] && [[ -x "$HOME/.local/bin/mpicc" ]] ); then
71
118
# mpich install not cached
72
- if ( [[ $TRAVIS ]] && [[ "X$TRAVIS_BRANCH" == Xbranch-1.* ]] ); then
73
- install_prerequisites/build mpich "$MPICH_VER" "$MPICH_DIR" 4
74
- else
75
- # install_prerequisites/build is broken as of 2015.12.09 / 9d2edbb0 on master
76
- # argument parsing bug fixes haven't made it back into master yet...
77
- wget "${MPICH_URL_HEAD}/${MPICH_URL_TAIL}"
78
- mv "$MPICH_URL_TAIL" "$MPICH_DIR/.."
79
- pushd "$MPICH_DIR/.."
80
- tar -xzvf "$MPICH_URL_TAIL"
81
- cd "${MPICH_URL_TAIL%.tar.gz}"
82
- ./configure --prefix="$MPICH_DIR"
83
- make -j 4
84
- make install
85
- popd
119
+ # could use install_prerequisites/build instead...
120
+ wget "${MPICH_URL_HEAD}/${MPICH_URL_TAIL}"
121
+ mv "$MPICH_URL_TAIL" "$MPICH_DIR/.."
122
+ pushd "$MPICH_DIR/.."
123
+ tar -xzvf "$MPICH_URL_TAIL"
124
+ cd "${MPICH_URL_TAIL%.tar.gz}"
125
+ ./configure --prefix="$MPICH_DIR"
126
+ make -j 4
127
+ make install
128
+ popd
129
+ for f in "$MPICH_DIR/bin/"*; do
130
+ if [[ -x "$f" ]]; then
131
+ ln -fs "$f" "$HOME/.local/bin/${f##*/}" && "${f##*/}" --version
86
132
fi
87
- for f in "$MPICH_DIR/bin/"*; do
88
- if [[ -x "$f" ]]; then
89
- ln -fs "$f" "$HOME/.local/bin/${f##*/}" && "${f##*/}" --version
90
- fi
91
- done
92
- fi
133
+ done
93
134
fi
94
-
95
- before_script :
96
- - mpif90 --version
97
- - export FC=mpif90
98
- - mpicc --version
99
- - export CC=mpicc
100
- - cmake --version
135
+ mpif90 --version
136
+ mpicc --version
137
+ cmake --version
138
+ export FC=mpif90
139
+ export CC=mpicc
140
+ fi
101
141
102
142
script :
103
- - mkdir cmake-build
104
- - cd cmake-build
105
- - cmake -DCMAKE_INSTALL_PREFIX:PATH="$HOME/OpenCoarrays" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" ..
106
- - make -j 4
107
- - ctest --verbose
108
- - make install
109
- - cd ..
143
+ - |
144
+ if [[ "X$BUILD_TYPE" = "XInstallScript" ]]; then
145
+ export FC=gfortran-5
146
+ export CC=gcc-5
147
+ [[ -d "$HOME/opt" ]] || mkdir "$HOME/opt"
148
+ [[ -d "$HOME/bin" ]] || mkdir "$HOME/bin"
149
+ ln -fs "$(which gfortran-5)" "$HOME/bin/gfortran"
150
+ ln -fs "$(which gcc-5)" "$HOME/bin/gcc"
151
+ ln -fs "$(which g++-5)" "$HOME/bin/g++"
152
+ export PATH="$PATH:$HOME/bin"
153
+ yes | ./install.sh $HOME/opt/opencoarrays 4 > install.log &
154
+ install_sh_PID=$!
155
+ echo "install.log will be displayed after success or failure"
156
+ while ps -p $install_sh_PID > /dev/null; do
157
+ echo "Still working on installing opencoarrays and dependencies"
158
+ sleep 300 # prevent Travis-CI abort due to inactivity and excessive logging
159
+ done
160
+ else
161
+ mkdir cmake-build
162
+ cd cmake-build
163
+ cmake -DCMAKE_INSTALL_PREFIX:PATH="$HOME/OpenCoarrays" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" ..
164
+ make -j 4
165
+ ctest --verbose
166
+ make install
167
+ cd ..
168
+ fi
110
169
111
170
after_success :
112
171
- find . -name '*.gcno' -print
113
172
- gcov-5 --version
114
173
- bash <(curl -s https://codecov.io/bash) -x $(which gcov-5)
174
+ - cat install.log || true
175
+
176
+ after_failure :
177
+ - cat install.log || true
115
178
116
179
notifications :
117
180
webhooks :
118
181
urls :
119
182
- https://webhooks.gitter.im/e/93dbafbdf76c1732a623
183
+ - https://webhooks.gitter.im/e/935231573bf1b9f2fe40
120
184
on_success : change # options: [always|never|change]
121
185
on_failure : always
122
186
on_start : always
0 commit comments