-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
63 lines (61 loc) · 3.15 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
sudo: true
language: cpp
compiler:
- gcc
dist: xenial
env:
- secure: "AktDPa0LZiWXdej9CWFtvGm/2iSlgHd/f+LGuhPUTeRojEMNODE1KBsTdniqj2Wdnxw8431gl8YTz9b7+5vjGF/6kfzBP2C19eHKnIk7AUkSpbhYmJ4QrzrCkhHT5KXJYmM6yb39wbtSY9gYoPrTCSd6qolMyhAdAV2e93JhBcD4x2FV4lTMLFEKZRrcMt8YrQksa0vetxyRb/YHd2jAvRByEklFLlNes1kj8WX1wAQVoEl6HtwbP1IwtuYyfIJeNp8wN0Kln/4/I4T7WJZv4g8DA4suGTueNbpCbcrdkclMNTFesvwdfv9rgVNSj0gRBDvNrIvNCP317Se2QnT7Rq83SVuE4asPUiGlRQXI2jU9FfPCmcWYjP4dUn/XIyFvwPkgb5ss2yQDKkkK/32I6en/k7C7SxRNVSSpQ1qVfeLuLY1TDRjArVAOsvnYVfr8wLTJSJ1OXIbB1Yj0ZZRwTyLI3d9ULcvoSrOGdw4XedSSRQyz8DRd3jpLJ9zvzPO5WEVn8R8vnDjCGomjP1/OZlNuDf5XA6IKSeTkwFe3QwUv9leJuZANGnPszDs3et6D+Djy28gO/RJnWP75T3dMcI3kTGi6v08ejQpciIFC9bVXv8Ok2BBMnreDJ6WUKxAqSAfPjKTxEIz9gbMkyUq7pQowTSXMj+D11Y7U0iI6hqU="
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.8
- llvm-toolchain-trusty-6.0
packages:
- gcc-8
- g++-8
# the install step will take care of deploying a newer cmake version
install:
- wget -O boost_1_69_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.69.0/boost_1_69_0.tar.gz/download > /dev/null 2>&1
- tar xzvf boost_1_69_0.tar.gz > /dev/null 2>&1
- cd boost_1_69_0/
- sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev > /dev/null 2>&1
- ./bootstrap.sh --prefix=/usr/
- ./b2 --with-filesystem --with-system --with-thread --with-chrono -j2 > /dev/null 2>&1
- sudo ./b2 install --with-filesystem --with-system --with-thread --with-chrono > /dev/null 2>&1
# first we create a directory for the CMake binaries
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir ${DEPS_DIR} && cd ${DEPS_DIR}
# we use wget to fetch the cmake binaries
- travis_retry wget --no-check-certificate https://cmake.org/files/v3.13/cmake-3.13.2-Linux-x86_64.tar.gz
# extract the binaries; the output here is quite lengthy,
# so we swallow it to not clutter up the travis console
- tar -xvf cmake-3.13.2-Linux-x86_64.tar.gz
- mv cmake-3.13.2-Linux-x86_64 cmake-install
# add both the top-level directory and the bin directory from the archive
# to the system PATH. By adding it to the front of the path we hide the
# preinstalled CMake with our own.
- PATH=${DEPS_DIR}/cmake-install:${DEPS_DIR}/cmake-install/bin:$PATH
# don't forget to switch back to the main build directory once you are done
- cd ${TRAVIS_BUILD_DIR}
script:
# Export CC and CXX to tell cmake which compiler to use
- export CC=gcc-8
- export CXX=g++-8
- g++ -v && cmake --version
# 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 ..
- make roflandb
- make tests
#execute server and tests
- ./bin/roflandb &
- ./bin/tests
after_success:
- "curl -o /tmp/travis-automerge https://raw.githubusercontent.com/boriswinner/travis-automerge/master/travis-automerge"
- "chmod a+x /tmp/travis-automerge"
- "BRANCHES_TO_MERGE_REGEX='staging' BRANCH_TO_MERGE_INTO=dev GITHUB_REPO=roflan-da/roflandb /tmp/travis-automerge"