-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy path.travis.yml
79 lines (70 loc) · 2.13 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
language: cpp
os: linux
compiler: gcc
dist: bionic
git:
submodules: false
addons:
apt:
packages: lcov
update: true
matrix:
include:
- os: linux
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 CXX=g++-8 GCOV=gcov-8"
env:
global:
- CODECOV_TOKEN="9118d8d9-8858-4c85-b27b-491f65c76199"
before_install:
- eval "${MATRIX_EVAL}"
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update
- sudo apt-get install gcc-8 g++-8
- sudo apt install linux-headers-$(uname -r)
- sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-8 20
- sudo update-alternatives --config gcov
- sudo apt install valgrind
- mkdir dependecies && cd dependecies
- git clone https://github.com/google/benchmark.git
- git clone https://github.com/google/googletest.git benchmark/googletest
- cd benchmark
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release ../
- make
- sudo make install
- cd ../
- cd googletest
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release ../
- make
- sudo make install
- cd ../../../../
install:
script:
- mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DTRAVISCI=true -DCMAKE_CXX_FLAGS="-Werror" ..
- make VERBOSE=1
after_success:
- cp ../dataset/fio_io_scheduler_dataset.output.gz .
- gunzip -d fio_io_scheduler_dataset.output.gz
- mv fio_io_scheduler_dataset.output test.output
- cp ../ml-models-analyses/readahead-per-disk/nn_arch_data/input.csv .
- cp ../ml-models-analyses/readahead-per-disk/nn_arch_data/output.csv .
- ctest --verbose
# - ./linear_regression_example
# - ./xor_net_example
# - valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose ./linear_regression_example
# Create lcov report
- lcov --capture --directory . --output-file coverage.info
- lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter system-files
- lcov --list coverage.info # debug info
# Uploading report to CodeCov
- bash <(curl -s https://codecov.io/bash) -t f60fe01c-a3ab-471f-9e74-fee75bccba1e
notifications:
email:
- iakgun@cs.stonybrook.edu
- aaydin@cs.stonybrook.edu