blob: 03e29834d8e5f1c55a84ddef8ef39af6d27401b3 (
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
127
128
129
130
131
132
133
|
dist: trusty
language: cpp
compiler:
# - g++
- clang++
sudo: false
os:
- linux
# - osx
osx_image: xcode9.2
branches:
only:
- develop
notifications:
email:
recipients:
- nialldouglas14@gmail.com
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports
- llvm-toolchain-trusty-4.0
packages:
- g++-6
- clang-4.0
- python3
- cmake
- cmake-data
env:
global:
- secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8="
matrix:
- __="cmake tests (error_code)" NAME=TravisLinuxWorkerEC CMAKE_CONFIGURE_OPTIONS=
- __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON
# - __="cmake tests" NAME=TravisOSXWorker
- __="Documentation" NAME=TravisDocumentation
- __="Programs"
matrix:
exclude:
# - os: osx
# compiler: g++
# - os: osx
# env: __="Documentation" NAME=TravisDocumentation
# - os: osx
# env: __="cmake tests (error_code)" NAME=TravisLinuxWorkerEC CMAKE_CONFIGURE_OPTIONS=
# - os: osx
# env: __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON
- os: linux
compiler: g++
env: __="Documentation" NAME=TravisDocumentation
- os: linux
env: __="cmake tests" NAME=TravisOSXWorker
cache:
apt: true
directories:
- doxygen-1.8.13
before_install:
-
DOXYGEN_VERSION=1.8.13;
if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
if [ -z "$(ls -A doxygen-$DOXYGEN_VERSION)" ]; then
wget -O doxygen-$DOXYGEN_VERSION.tar.gz http://ftp.stack.nl/pub/users/dimitri/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz;
mkdir -p doxygen-$DOXYGEN_VERSION;
tar -xvf doxygen-$DOXYGEN_VERSION.tar.gz --strip 1 -C doxygen-$DOXYGEN_VERSION;
fi;
export PATH="$PWD/doxygen-$DOXYGEN_VERSION/bin:$PATH";
fi
-
if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
brew install llvm;
export CXX=/usr/local/opt/llvm/bin/clang++;
export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib";
export CPPFLAGS=-I/usr/local/opt/llvm/include;
export CMAKE_CONFIGURE_OPTIONS="$CMAKE_CONFIGURE_OPTIONS -DCMAKE_LIBRARY_PATH=/usr/local/opt/llvm/lib";
fi
- if [ "$CXX" = "g++" ]; then export CXX=g++-6; export NAME=TravisLinuxWorkerGCC; fi;
- if [ "$CXX" = "clang++" ]; then export CXX=clang++-4.0; fi;
- git checkout develop
- git submodule update --init --recursive
- mount
script:
-
if [ "$__" = "cmake tests" ] || [ "$__" = "cmake tests (error_code)" ] || [ "$__" = "cmake tests (status_code)" ]; then
export ASAN_OPTIONS=detect_leaks=0;
ctest -S .ci.cmake -V --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ;
fi
-
if [ "$__" = "Documentation" ]; then
git config --global push.default simple;
git config --global user.name "Jenkins nedprod CI";
git config --global user.email "foo@nowhere";
cd doc/html;
git checkout gh-pages;
cd ../..;
ctest -S .docs.cmake -V;
cd doc/html;
git add . || true;
git commit -a -m "Travis CI updates documentation" || true;
git push -f https://jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD@github.com/ned14/llfio gh-pages;
cd ../..;
fi
-
if [ "$__" = "Programs" ]; then
cd programs;
mkdir build;
cd build;
cmake .. $CMAKE_CONFIGURE_OPTIONS ;
cmake --build .;
fi
after_success:
# - bash -x ./update_coveralls.sh `pwd`
# - NEWNAME=llfio-v2.0-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz
- if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$CXX" = "clang++-4.0" ] && [ "$__" = "cmake tests (error_code)" ]; then
NEWNAME=llfio-v2.0-binaries-linux64-$TRAVIS_COMMIT.tgz;
mv llfio-v2.0-binaries-linux64.tgz $NEWNAME;
curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/;
fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
NEWNAME=llfio-v2.0-binaries-darwin64-$TRAVIS_COMMIT.tgz;
mv llfio-v2.0-binaries-darwin64.tgz $NEWNAME;
curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/;
fi
after_failure:
|