-
-
Notifications
You must be signed in to change notification settings - Fork 52
/
.travis.yml
99 lines (88 loc) · 3.18 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
sudo: required
language: rust
branches:
only:
- master
# Cache cargo symbols for faster build
cache: cargo
# No environment varibles by default
env:
# Dependencies of kcov, used by coveralls coverage plugin
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
- cmake
- gcc-7
- g++-7
sources:
- kalakris-cmake
- ubuntu-toolchain-r-test
matrix:
fast_finish: true
include:
- rust: stable
env:
- FEATURES='unstable quickcheck'
- CHECKFMT=1
- rust: beta
env:
- FEATURES='unstable quickcheck'
- rust: nightly
env:
- FEATURES='unstable quickcheck'
- BENCH=1
allow_failures:
- rust: stable
env:
- FEATURES='unstable quickcheck'
- CHECKFMT=1
- rust: beta
env:
- FEATURES='unstable quickcheck'
notifications:
irc: chat.freenode.net#radeco
email: false
before_install:
# Install all required dependencies (radare2)
- ./scripts/install-dependencies.sh
before_script:
# Load cargo-travis
- |
export PATH=$HOME/.local/bin:$PATH
cargo install cargo-update || echo "cargo-update already installed"
cargo install cargo-travis || echo "cargo-travis already installed"
cargo install-update -a # update outdated cached binaries
# Clone and build capstone
- |
export CC=gcc-7 && export CXX=g++7 &&
git clone https://github.com/aquynh/capstone.git &&
cd ./capstone && ./make.sh && sudo ./make.sh install && cd ../
# Install rustfmt
if [ "${CHECKFMT}" == "1" ]; then
rustup component add rustfmt
fi
# the main build
script:
- |
cargo build --verbose &&
cargo test --verbose &&
chmod 644 radeco-lib/src/middle/ir_reader/parser.rs &&
if [ "${CHECKFMT}" == "1" ]; then
rustfmt radeco-lib/src/middle/ir_reader/parser.rs
cargo fmt -- -- --check
fi
cargo bench
cargo doc
after_success:
# Upload the documentation from the build with stable
# Automatically only actually runs on the master branch, not individual PRs
- cargo --only nightly coveralls
# Measure code coverage and upload to coveralls.io
- cargo --only nightly doc-upload
env:
global:
- secure:"6Hai838Ii8T5f9g2HvioILGulY3aoH6gEQudAzeRW/EwJYyIS3dnd+dqzklxZg5NzDfS2iqcVc8KplevRviR6WLdGnpAWNyLqni+hJepNgpJESPH4g7jYYlmVK7VCXvhWKNpoYXd3Gjx6CLCpF2NVX3cnSKAgPz1SMMWm+ulAI8Bqj6NnG53fme6siQwyajVdKcsvawim2JlDtIl0sTsJDpAYr7ivQvc1MCjvLY1PUV5cUEGhnOJFv3RQS32gklGvk96FKFyb0kiPIsCvIIL4ZzeP8SpiJyW1DYNlUqMvxGwSzie8mowdNvh3gbzj9ll7y9B1bTYbaYY8ETLbqDtBZF52rC+4Cnxkbj9275ij7lvJcfr1wBvN1DxVmUnfWyWUBi2aQpNePmKJvMxLSlKW+U5diQrf/NS34gmblccv1aPQszT11Le5kVhZm4KEXQWvh/L4+NO/DOWRmHvBjHH+Ov/sHx59jbgd/OYsiIQ0WIWKaCIT/oU3w6jTBCeKzX7arw0k8hQlNdOKOJCdjAHsI50kln2yXm4rJnVnXaX7spJP1v00csbK95fjxn8dp/f4L6gWrBQzmeKTLjrMFQQTHAx+JC3Oigt28eKwkJVIo9cO25wdUD52rjPPTOMqVHONqpHq735sMYfDItKAG7FmQ427ZgfQRuRblvjijcexBM="