forked from AMReX-Combustion/PeleC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
84 lines (74 loc) · 3.08 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
language: cpp
sudo: false
# Use Linux unless specified otherwise
os: linux
dist: xenial
# All environments to test
matrix:
include:
- env:
- CXX_COMPILER=g++-7
- C_COMPILER=gcc-7
- Fortran_COMPILER=gfortran
- MPI_CXX_COMPILER=mpicxx
- MPI_C_COMPILER=mpicc
- MPI_Fortran_COMPILER=mpifort
- BUILD_TYPE=Release
addons: &mpich
apt:
packages:
- g++-7
- gcc-7
- gfortran
- mpich
- libmpich-dev
- python3.6
- python3.6-venv
sources:
- ubuntu-toolchain-r-test
- deadsnakes
install:
# Set the ${CXX} variable properly
- export CXX=${CXX_COMPILER}
- export CC=${C_COMPILER}
- ${CXX} --version
- ${CC} --version
# Travis machines have 2 cores
- export JOBS=2
# Dependencies required by the CI are installed in ${TRAVIS_BUILD_DIR}/deps/
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir -p "${DEPS_DIR}"
- cd "${DEPS_DIR}"
# Install python dependencies in virtual environment
- python3.6 -m venv env
- source env/bin/activate
- pip3 install matplotlib numpy nose pandas
# Install a recent CMake (unless already installed on OS X)
- CMAKE_VERSION=3.14.3
- |
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
CMAKE_URL="https://cmake.org/files/v${CMAKE_VERSION%.[0-9]}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz"
mkdir cmake && travis_retry wget --no-check-certificate -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
else
brew install cmake || brew upgrade cmake
fi
- cmake --version
# Install MASA
- git clone https://github.com/roystgnr/MetaPhysicL.git
- cd MetaPhysicL && ./bootstrap && ./configure --prefix="${DEPS_DIR}/install/MetaPhysicL" && make -j${JOBS} && make install && cd ..
- git clone https://github.com/manufactured-solutions/MASA.git
- cd MASA && ./bootstrap && ./configure --enable-fortran-interfaces METAPHYSICL_DIR="${DEPS_DIR}/install/MetaPhysicL" --prefix="${DEPS_DIR}/install/MASA" && make -j${JOBS} && make install && cd ..
- export MASA_ROOT_DIR="${DEPS_DIR}/install/MASA"
before_script:
# have CMake to generate build files
- cd "${TRAVIS_BUILD_DIR}"
- mkdir build && cd build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=./install -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE -DPELEC_ENABLE_MPI:BOOL=ON -DCMAKE_CXX_COMPILER:STRING=$MPI_CXX_COMPILER -DCMAKE_C_COMPILER:STRING=$MPI_C_COMPILER -DCMAKE_Fortran_COMPILER:STRING=$MPI_Fortran_COMPILER -DENABLE_TESTS:BOOL=ON -DTEST_WITH_FEXTREMA:BOOL=ON -DPELEC_ENABLE_MASA:BOOL=ON -DMASA_DIR:STRING=${MASA_ROOT_DIR} -DENABLE_VERIFICATION:BOOL=ON ..
script:
# Build the tests and run tests only if built successfully
# Ideally we would run all the tests:
# - ctest --output-on-failure -j${JOBS}
# But really we only get 50 min on Travis CI and building the tests
# takes 28 min so we exclude some longer running tests
- cmake --build . -- -j${JOBS} && ctest --output-on-failure -j${JOBS} -E "(fiab-3d|cns_no_amr_mol_3d|cns_no_amr_3d|cns_les_no_amr_3d)"