forked from CEED/libCEED
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
101 lines (91 loc) · 2.62 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
language: c
os:
- linux
- osx
dist: xenial
compiler:
- gcc
- clang
addons:
apt:
packages:
- gfortran
- libopenblas-dev
- liblapack-dev
env:
- FC=gfortran OCCA_HEAD=HEAD
- FC=gfortran OCCA_HEAD=5b11d0c
matrix:
fast_finish: true
allow_failures:
- os: linux
env: FC=gfortran OCCA_HEAD=HEAD
compiler: gcc
- os: linux
env: FC=gfortran OCCA_HEAD=HEAD
compiler: clang
exclude:
- os: osx
env: FC=gfortran OCCA_HEAD=HEAD
compiler: gcc
- os: osx
env: FC=gfortran OCCA_HEAD=HEAD
compiler: clang
install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export HOMEBREW_NO_AUTO_UPDATE=1
&& (brew install gcc || brew link --overwrite gcc)
&& brew install ccache
&& export PATH=/usr/local/ccache/opt/libexec:$PATH; fi
- export CURR_DIR=$PWD
- cd $HOME/install
- if [[ -d mfem ]]; then
git -C mfem pull --depth 1 --allow-unrelated-histories;
if [[ $? -eq 0 ]]; then
git -C mfem gc --prune=all;
else
rm -rf mfem
&& git clone --depth 1 https://github.com/mfem/mfem.git;
fi
else
git clone --depth 1 https://github.com/mfem/mfem.git;
fi
- make -C mfem -j2 serial MFEM_CXXFLAGS=-O
- if [[ -d occa ]]; then
git -C occa pull --allow-unrelated-histories;
if [[ $? -eq 0 ]]; then
git -C occa reset --hard $OCCA_HEAD;
else
rm -rf occa
&& git clone https://github.com/libocca/occa.git
&& git -C occa reset --hard $OCCA_HEAD;
fi
else
git clone https://github.com/libocca/occa.git
&& git -C occa reset --hard $OCCA_HEAD;
fi
- make -C occa -j2
- cd $CURR_DIR
- export OCCA_DIR=$HOME/install/occa MFEM_DIR=$HOME/install/mfem PETSC_INSTALL=$HOME/install/petsc-3.10.0
- test -s "$PETSC_INSTALL/lib/pkgconfig/PETSc.pc"
|| ( curl -O http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.10.0.tar.gz
&& tar xf petsc-lite-3.10.0.tar.gz
&& cd petsc-3.10.0
&& ./configure --with-debugging=0 COPTFLAGS=-O --with-mpi=0 --with-fc=0 --with-cxx=0 --prefix=$PETSC_INSTALL
&& make
&& make install )
- export PETSC_DIR=$PETSC_INSTALL
script:
- export COVERAGE=1
- make -j2
- make -j2 prove-all PROVE_OPTS=-v
after_success:
- bash <(curl -s https://codecov.io/bash) -F interface
- bash <(curl -s https://codecov.io/bash) -F backends
- bash <(curl -s https://codecov.io/bash) -F tests
- bash <(curl -s https://codecov.io/bash) -F examples
cache:
ccache: true
directories:
- $HOME/install
- $HOME/Library/Caches/Homebrew