forked from pirovc/ganon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
executable file
·113 lines (101 loc) · 3.69 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
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
language: cpp
dist: focal
matrix:
include:
- name: "osx AppleClang 10 (xcode10.2/macOS 10.14)"
os: osx
osx_image: xcode10.2
addons:
homebrew: { packages: [coreutils, gawk, grep],
update: false }
env:
- PATH="$(brew --prefix coreutils)/libexec/gnubin:$(brew --prefix grep)/libexec/gnubin:$PATH"
- MATRIX_EVAL="BUILD_TYPE=Release"
- name: "osx AppleClang 11 (xcode11/macOS 10.14.6)"
os: osx
osx_image: xcode11
addons:
homebrew: { packages: [coreutils, gawk, grep],
update: false }
env:
- PATH="$(brew --prefix coreutils)/libexec/gnubin:$(brew --prefix grep)/libexec/gnubin:$PATH"
- MATRIX_EVAL="BUILD_TYPE=Release"
- name: "linux gcc-7"
os: linux
addons:
apt: { packages: [g++-7],
sources: [ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && BUILD_TYPE=Release"
- name: "linux gcc-7 (coverage)"
os: linux
addons:
apt: { packages: [g++-7, lcov],
sources: [ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && BUILD_TYPE=Coverage && GCOV=gcov-7"
- name: "linux gcc-8"
os: linux
addons:
apt: { packages: [g++-8],
sources: [ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=gcc-8 && CXX=g++-8 && BUILD_TYPE=Release"
- name: "linux gcc-9"
os: linux
addons:
apt: { packages: [g++-9],
sources: [ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=gcc-9 && CXX=g++-9 && BUILD_TYPE=Release"
- name: "linux clang-7"
os: linux
addons:
apt: { packages: [clang-7, g++-7],
sources: [llvm-toolchain-xenial-7, ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=clang-7 && CXX=clang++-7 && BUILD_TYPE=Release"
- name: "linux clang-8"
os: linux
addons:
apt: { packages: [clang-8, g++-8],
sources: [llvm-toolchain-xenial-8, ubuntu-toolchain-r-test] }
env: MATRIX_EVAL="CC=clang-8 && CXX=clang++-8 && BUILD_TYPE=Release"
before_install:
- eval "${MATRIX_EVAL}"
- sudo python3 -m pip install --upgrade pip
- sudo python3 -m pip install "pandas>=0.22.0"
- sudo python3 -m pip install binpacking==1.4.3
- binpacking -h # ret 0
- git clone https://github.com/pirovc/pylca.git
- cd pylca
- git checkout d1474b2ec2c028963bafce278ccb69cc21c061fa #v1.0.0
- sudo python3 setup.py install
- cd ..
- git clone https://github.com/pirovc/taxsbp.git
- cd taxsbp
- git checkout 35ffb1e1a92f6199d757dfdd2f1971db29dd4070 # v1.1.1
- sudo python3 setup.py install
- taxsbp -h # ret 0
- cd ..
- if [ "$BUILD_TYPE" == "Coverage" ]; then
sudo python3 -m pip install coverage;
fi
script:
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVERBOSE_CONFIG=ON -DGANON_OFFSET=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCONDA=OFF ..
- cat compile_commands.json
- cmake --build . -- -j2
- ctest -VV .
- sudo make install
- ganon-build -h # ret 0
- ganon-classify -h # ret 0
- cd ..
- python3 -m unittest discover -s tests/ganon/unit/ -v
- python3 -m unittest discover -s tests/ganon/integration/ -v
- sudo python3 setup.py install
- ganon -h # ret 0
after_success:
- if [ "$BUILD_TYPE" == "Coverage" ]; then
lcov --gcov-tool $(which ${GCOV}) -d . -c -o coverage.info;
coverage run --append -m unittest discover -s tests/ganon/unit/ -v;
coverage run --append -m unittest discover -s tests/ganon/integration/ -v;
bash <(curl -s https://codecov.io/bash) -X gcov || echo "Codecov did not collect coverage reports";
fi
notifications:
email: false