-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.travis.yml
129 lines (129 loc) · 4.42 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
language: cpp
git:
depth: false
addons:
apt:
packages:
- clang-format
- hwloc
- libhwloc-dev
homebrew:
packages:
- hwloc
update: true
before_install:
- cwd=$(pwd)
- cd /tmp
- git clone https://github.com/kokkos/kokkos.git
- mkdir build_kokkos
- mkdir install_kokkos
- cd build_kokkos
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then cmake ../kokkos -DKokkos_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX=/tmp/install_kokkos -DKokkos_ENABLE_OPENMP=Off -DKokkos_ENABLE_HWLOC=On; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cmake ../kokkos -DKokkos_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX=/tmp/install_kokkos -DKokkos_ENABLE_OPENMP=On -DKokkos_ENABLE_HWLOC=On; fi
- make install
- cd ${cwd}
jobs:
include:
- stage: "Pre-check"
name: "formatting"
os: linux
dist: bionic
script:
- cd ${TRAVIS_BUILD_DIR}
- bash ./check_format.sh
- stage: "Compilation"
name: "linux gcc release"
os: linux
dist: bionic
compiler: gcc
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
script:
- make -j 4
- stage: "Compilation"
name: "macos release"
os: osx
osx_image: xcode11.5
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
script:
- make -j 4
- stage: "Compilation"
name: "linux clang release"
os: linux
dist: bionic
compiler: clang
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
script:
- make -j 4
- stage: "Compilation"
name: "linux gcc debug"
os: linux
dist: bionic
compiler: gcc
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
script:
- make -j 4
- stage: "Compilation"
name: "linux clang debug"
os: linux
dist: bionic
compiler: clang
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
script:
- make -j 4
- stage: "Integration tests"
name: "linux gcc release"
# Here we compile again the source. There is maybe a way to use previous executable...
os: linux
dist: bionic
compiler: gcc
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DKOKKOS_INSTALL_PATH=/tmp/install_kokkos ..
- make -j 4
script:
- ctest -j 4
stages:
- name: "Pre-check"
if: branch = master
- name: "Compilation"
- name: "Integration tests"