summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: f263e86ad473a47834e3cd5c9614b28a2a273cd0 (plain)
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
dist: trusty

osx_image: xcode8.3

sudo: false

language: cpp

cache:
  apt: true
  directories:
    - $HOME/.cache/cuda

addons:
  apt:
    packages: &default_packages
      - cmake
      - libmicrohttpd-dev
      - libssl-dev
      - libhwloc-dev

env:
  global:
    - CUDA_ROOT: $HOME/.cache/cuda

matrix:
  include:
    - os: linux
      compiler: gcc
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - *default_packages
            - gcc-5
            - g++-5
      env:
        - CMAKE_CXX_COMPILER=g++-5
        - CMAKE_C_COMPILER=gcc-5
        - XMRSTAK_CMAKE_FLAGS="-DCUDA_ARCH=30 -DOpenCL_ENABLE=OFF"

    - os: linux
      compiler: gcc
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - *default_packages
            - gcc-6
            - g++-6
      env:
        - CMAKE_CXX_COMPILER=g++-6
        - CMAKE_C_COMPILER=gcc-6
        - XMRSTAK_CMAKE_FLAGS="-DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF"

    # test with disabled HWLOC, MICROHTTPD, OpenSSL and no accelerators
    - os: linux
      compiler: gcc
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - *default_packages
            - gcc-6
            - g++-6
      env:
        - CMAKE_CXX_COMPILER=g++-6
        - CMAKE_C_COMPILER=gcc-6
        - XMRSTAK_CMAKE_FLAGS="-DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF -DHWLOC_ENABLE=OFF -DOpenSSL_ENABLE=OFF -DMICROHTTPD_ENABLE=OFF"

    - os: linux
      compiler: gcc
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - *default_packages
            - gcc-7
            - g++-7
      env:
        - CMAKE_CXX_COMPILER=g++-7
        - CMAKE_C_COMPILER=gcc-7
        - XMRSTAK_CMAKE_FLAGS="-DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF"

    - os: osx
      compiler: gcc
      env:
        - XMRSTAK_CMAKE_FLAGS="-DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF"

before_install:
  - . CI/checkPRBranch
  - if [ $TRAVIS_OS_NAME = osx ] ; then
      brew update;
    fi
  - export PATH=$CUDA_ROOT/bin:$PATH

install:

  # CUDA
  - if [ $TRAVIS_OS_NAME != osx ]; then
      NVCC_FOUND=$(which nvcc >/dev/null && { echo 0; } || { echo 1; });
      if [ $NVCC_FOUND -ne 0 ]; then
        mkdir -p $CUDA_ROOT &&
        cd $CUDA_ROOT &&
        travis_retry wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda_8.0.44_linux-run &&
        ls -la &&
        chmod u+x *-run &&
        ./cuda_8.0.44_linux-run --silent --toolkit --toolkitpath=$CUDA_ROOT &&
        rm -rf ./cuda_8.0.44_linux-run $CUDA_ROOT/{samples,jre,doc,share} &&
        cd -;
      fi
    fi;

script:
  - if [ $TRAVIS_OS_NAME = osx ]; then
      brew install hwloc;
      cmake -DMICROHTTPD_ENABLE=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ${XMRSTAK_CMAKE_FLAGS} .;
    else
      cmake -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ${XMRSTAK_CMAKE_FLAGS} .;
    fi;
  - make VERBOSE=1 install
  - ./bin/xmr-stak --help
OpenPOWER on IntegriCloud