1+ # Ubuntu name decoder ring; https://en.wikipedia.org/wiki/List_of_Ubuntu_releases
2+ # Ubuntu 12.04 LTS (Precise Pangolin) <== Travis CI VM image
3+ # Ubuntu 12.10 (Quantal Quetzal)
4+ # Ubuntu 13.04 (Raring Ringtail)
5+ # Ubuntu 13.10 (Saucy Salamander)
6+ # Ubuntu 14.04 LTS (Trusty Tahr)
7+ # Ubuntu 14.10 (Utopic Unicorn)
8+ # Ubuntu 15.04 (Vivid Vervet)
9+ # Ubuntu 15.10 (Wily Werewolf)
10+ # Ubuntu 16.04 LTS (Xenial Xantus)
11+
12+ # language: instructs travis what compilers && environment to set up in build matrix
113language : cpp
214
15+ # sudo: false instructs travis to build our project in a docker VM (faster)
16+ # Can not yet install fglrx packages with 'false'
17+ sudo : required # false
18+
19+ # os: expands the build matrix to include multiple os's
20+ # disable linux, as we get sporadic failures on building boost, needs investigation
21+ os :
22+ - linux
23+ - osx
24+
25+ # compiler: expands the build matrix to include multiple compilers (per os)
326compiler :
427 - gcc
28+ - clang
29+
30+ addons :
31+ # apt: is disabled on osx builds
32+ # apt: needed by docker framework to install project dependencies without
33+ # sudo. Apt uses published Ubunto PPA's from https://launchpad.net/
34+ # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
35+ apt :
36+ sources :
37+ # ubuntu-toolchain-r-test contains newer versions of gcc to install
38+ # - ubuntu-toolchain-r-test
39+ # llvm-toolchain-precise-3.6 contains newer versions of clang to install
40+ # - llvm-toolchain-precise-3.6
41+ # kubuntu-backports contains newer versions of cmake to install
42+ - kubuntu-backports
43+ # boost-latest contains boost v1.55
44+ - boost-latest
45+ packages :
46+ # g++-4.8 is minimum version considered to be the first good c++11 gnu compiler
47+ # - g++-4.8
48+ # - clang-3.6
49+ # We require v2.8.12 minimum
50+ - cmake
51+ # I'm finding problems between pre-compiled versions of boost ublas, with gtest
52+ # stl_algobase.h: error: no matching function for call to swap()
53+ - libboost-program-options1.55-dev
54+ # - libboost-serialization1.55-dev
55+ # - libboost-filesystem1.55-dev
56+ # - libboost-system1.55-dev
57+ # - libboost-regex1.55-dev
58+ # The package opencl-headers on 'precise' only installs v1.1 cl headers; uncomment for 'trusty' or greater
59+ # - opencl-headers
60+ # Uncomment one of the following when fglrx modules are added to the apt whitelist
61+ # - fglrx
62+ # - fglrx=2:8.960-0ubuntu1
63+ # - fglrx=2:13.350.1-0ubuntu0.0.1
64+
65+ # env: specifies additional global variables to define per row in build matrix
66+ env :
67+ global :
68+ - CLBLAS_ROOT=${TRAVIS_BUILD_DIR}/bin/make/release
69+
70+ # The following filters our build matrix; we are interested in linux-gcc & osx-clang
71+ matrix :
72+ exclude :
73+ - os : linux
74+ compiler : clang
75+ - os : osx
76+ compiler : gcc
577
678before_install :
7- - sudo apt-get update -qq
8- - sudo apt-get install -qq fglrx libboost-program-options-dev
9- # Uncomment below to help verify the installs above work
10- # - ls -la /usr/lib/libboost*
11- # - ls -la /usr/include/boost
79+ # Remove the following linux clause when fglrx can be installed with sudo: false
80+ - if [ ${TRAVIS_OS_NAME} == "linux" ]; then
81+ sudo apt-get update -qq &&
82+ sudo apt-get install -qq fglrx=2:13.350.1-0ubuntu0.0.1;
83+ fi
84+ - if [ ${TRAVIS_OS_NAME} == "linux" ]; then
85+ export OPENCL_ROOT="${TRAVIS_BUILD_DIR}/opencl-headers";
86+ fi
87+ - if [ ${TRAVIS_OS_NAME} == "osx" ]; then
88+ brew update;
89+ brew outdated boost || brew upgrade boost;
90+ brew outdated cmake || brew upgrade cmake;
91+ fi
92+ # - if [ ${CXX} = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
93+ - cmake --version;
94+ - ${CC} --version;
95+ - ${CXX} --version;
1296
97+ install :
98+ # 'Precise' only distributes v1.1 opencl headers; download 1.2 headers from khronos website
99+ # Remove when the travis VM upgrades to 'trusty' or beyond
100+ - if [ ${TRAVIS_OS_NAME} == "linux" ]; then
101+ mkdir -p ${OPENCL_ROOT}/include/CL;
102+ pushd ${OPENCL_ROOT}/include/CL;
103+ wget -w 1 -r -np -nd -nv -A h,hpp https://www.khronos.org/registry/cl/api/1.2/;
104+ popd;
105+ fi
106+ # osx image does not contain cl.hpp file; download from Khronos
107+ # - if [ ${TRAVIS_OS_NAME} == "osx" ]; then
108+ # pushd /System/Library/Frameworks/OpenCL.framework/Versions/A/Headers/;
109+ # sudo wget -w 1 -np -nd -nv -A h,hpp https://www.khronos.org/registry/cl/api/1.2/cl.hpp;
110+ # popd;
111+ # fi
112+
113+ # Use before_script: to run configure steps
13114before_script :
14- - cd ${TRAVIS_BUILD_DIR}
15- # download OpenCL 1.2 header files since Travis CI only provides 1.1
16- - mkdir -p OpenCLInclude/CL
17- - cd OpenCLInclude/CL
18- # - wget -r --no-parent -nH --cut-dirs=4 --reject="index.html*" https://www.khronos.org/registry/cl/api/1.2/
19- - wget https://www.khronos.org/registry/cl/api/1.2/cl.h
20- - wget https://www.khronos.org/registry/cl/api/1.2/cl.hpp
21- - wget https://www.khronos.org/registry/cl/api/1.2/cl_d3d10.h
22- - wget https://www.khronos.org/registry/cl/api/1.2/cl_d3d11.h
23- - wget https://www.khronos.org/registry/cl/api/1.2/cl_dx9_media_sharing.h
24- - wget https://www.khronos.org/registry/cl/api/1.2/cl_egl.h
25- - wget https://www.khronos.org/registry/cl/api/1.2/cl_ext.h
26- - wget https://www.khronos.org/registry/cl/api/1.2/cl_gl.h
27- - wget https://www.khronos.org/registry/cl/api/1.2/cl_gl_ext.h
28- - wget https://www.khronos.org/registry/cl/api/1.2/cl_platform.h
29- - wget https://www.khronos.org/registry/cl/api/1.2/opencl.h
30- - ls
31- - pwd
32- - cd ../..
33- - mkdir -p bin/clBLAS
34- - cd bin/clBLAS
35- - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=OFF -DBUILD_CLIENT=ON -DOPENCL_INCLUDE_DIRS:PATH=$PWD/../../OpenCLInclude -DCMAKE_INSTALL_PREFIX:PATH=$PWD/package ../../src
36-
37- script :
38- - make install
39- # - ls -Rla package
40- # Run a simple test to validate that the build works; CPU device in a VM
41- - cd package/bin
42- - export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/bin/clBLAS/package/lib64:${LD_LIBRARY_PATH}
43- - ./clBLAS-client --cpu
44-
45- after_success :
46- - cd ${TRAVIS_BUILD_DIR}/bin/clBLAS
115+ - mkdir -p ${CLBLAS_ROOT}
116+ - pushd ${CLBLAS_ROOT}
117+ - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=OFF -DBUILD_CLIENT=ON -DOCL_VERSION=2.0 -DOPENCL_ROOT=${OPENCL_ROOT} ${TRAVIS_BUILD_DIR}/src
118+
119+ # use script: to execute build steps
120+ script :
47121 - make package
48122
49- notifications :
50- email :
51- - clmath-developers@googlegroups.com
52- on_success : change
53- on_failure : always
54-
123+ deploy :
124+ provider : releases
125+ prerelease : true
126+ draft : true
127+ skip_cleanup : true
128+ api_key :
129+ secure : MBkxtcfSk+4UvGRO+WRhmS86vIVzAs0LIF2sAtr/S+Ed+OdUAuhZypUsDXGWtK3mL55v9c8BZXefFfHfJqElcNmyHKwCptbCR/JiM8YBtjoy2/RW1NcJUZp+QuRlk23xPADj7QkPjv7dfrQUMitkLUXAD+uTmMe2l8gmlbhMrQqPBKhb+31FNv6Lmo6oa6GjbiGi7qjsrJc7uQjhppLam+M7BZbBALGbIqMIrb2BMDMMhBoDbb4zSKrSg3+krd3kKiCClJlK7xjIlyFXZ527ETQ+PMtIeQb0eJ3aQwa4caBRCm5BDzt8GnJ48S88EkynbQioCEE87ebcyOM7M+wfslW/Fm1Y86X5odIljkOmTNKoDvgLxc9vUCBtMyVHNIgZcToPdsrMsGxcHV+JtU3yVQVm6dnA5P/zG5bA+aBjsd7p7BdOE4fdhvZV5XRAk/wmiyWalF7hKJxHIiWAKknL+tpPDDUF+fHmDDsdf7yRDJBegNcKfw4+m19MIvLn9fbiNVCtwCAL1T4yWkIEpi4MRMDPtftmkZPbi6UwluOJUTeCeHe4en99Yu2haemNPqXs6rR0LlXGk31GQwzlrNfb+94F5tT2a4Ka4PsruA2NMW/IYCYEE5Gu7PihVDR031Fn9cdCU9kefUgyB07rJD6q/W+ljsU0osyg7VxyfMg8rkw=
130+ file : ${CLBLAS_ROOT}/clBLAS-build/*.tar.gz
131+ file_glob : true
132+ on :
133+ all_branches : true
134+ tags : true
0 commit comments