-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
53 lines (45 loc) · 1.4 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
language: rust
# A workaround due to the Meltdown exploit
# If this can be removed in the future
# that would be amazing since this will
# increase queue times for builds
sudo: required
language: rust
before_script: |
PKGNAME="pathtracer"
KCOV="./kcov-build/usr/local/bin/kcov"
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
- libiberty-dev
matrix:
fast_finish: true
include:
- rust: beta
- rust: stable
- env: RUSTFLAGS="-C link-dead-code"
- rust: nightly
allow_failures:
- rust: nightly
cache: cargo
script:
- cargo test --verbose --jobs 1
after_success: |
TEST_FILES=$(cargo test 2>&1 >/dev/null | awk '/^ Running target\/debug\// { print $2 }')
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
tar xzf master.tar.gz &&
cd kcov-master &&
mkdir build &&
cd build &&
cmake .. &&
make &&
make install DESTDIR=../../kcov-build &&
cd ../.. &&
rm -rf kcov-master &&
for file in target/debug/$PKGNAME-*[^\.d]; do mkdir -p "target/cov/$(basename $file)"; $KCOV --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
$KCOV --merge --coveralls-id=$TRAVIS_JOB_ID --verify target/cov target/cov/pathtracer-*/pathtracer-*.* target/cov/pathtracer-*/pathtracer-*.* &&
echo "Uploaded code coverage"