forked from boostorg/ublas
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.travis.yml
101 lines (86 loc) · 2.67 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
# Copyright 2018 Stefan Seefeld
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
sudo: required
branches:
only:
- master
- develop
- doc
- ci
- expr_template
- framework
# env: specifies additional global variables to define per row in build matrix
env:
global:
- CLBLAS_PREFIX=${TRAVIS_BUILD_DIR}/CLBLAS/
- PATH=${CLBLAS_PREFIX}/bin:$PATH
- LD_LIBRARY_PATH=${CLBLAS_PREFIX}/lib:$LD_LIBRARY_PATH
matrix:
include:
- os: linux
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=11
- os: linux
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=17
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- libopenblas-base
- rpm2cpio
- cpio
- clinfo
- opencl-headers
- ocl-icd-opencl-dev
- lcov
before_install:
- if [ ${TRAVIS_OS_NAME} == "linux" ]; then .ci/install-ocl-ubuntu.sh; fi
- .ci/install-clblas.sh
- cmake --version;
- ${CC} --version;
- ${CXX} --version;
install:
- cd ..
- git clone -b master --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init --jobs 8 tools/build
- git submodule update --init --jobs 8 libs/config
- git submodule update --init --jobs 8 tools/boostdep
- mkdir -p libs/numeric/
- cp -rp $TRAVIS_BUILD_DIR/. libs/numeric/ublas
- python tools/boostdep/depinst/depinst.py -I benchmarks numeric/ublas
- ./bootstrap.sh
- ./b2 -j 8 headers
- export BOOST_ROOT="`pwd`"
# Use before_script: to run configure steps
before_script:
# use script: to execute build steps
script:
- |-
echo "using $TOOLSET : : $COMPILER ;" >> ~/user-config.jam;
echo "using clblas : : <include>${CLBLAS_PREFIX}/include <search>${CLBLAS_PREFIX}/lib ;" >> ~/user-config.jam;
cp $TRAVIS_BUILD_DIR/opencl.jam ~/
cp $TRAVIS_BUILD_DIR/clblas.jam ~/
- cd libs/numeric/ublas
- $BOOST_ROOT/b2 test/tensor toolset=$TOOLSET cxxstd=$CXXSTD
- $BOOST_ROOT/b2 -j 8 benchmarks toolset=$TOOLSET cxxstd=$CXXSTD
- $BOOST_ROOT/b2 -j 8 examples/tensor toolset=$TOOLSET cxxstd=$CXXSTD
after_success:
- .ci/report_coverage.sh
# Uploading to CodeCov
# '-f' specifies file(s) to use and disables manual coverage gathering and file search which has already been done above
- curl -s https://codecov.io/bash > cov.sh
- chmod +x cov.sh
- ./cov.sh -f coverage.info || echo "Codecov did not collect coverage reports"
notifications:
email:
on_success: always
webhooks:
urls:
- https://webhooks.gitter.im/e/a2368070e491d7c40737
on_success: change
on_failure: always
on_start: never