-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
57 lines (49 loc) · 1.6 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
language: rust
sudo: required
dist: trusty
before_install:
- curl https://sh.rustup.rs -sSf > rustup.sh
- chmod +x rustup.sh
- ./rustup.sh -y
- export PATH=$HOME/.cargo/bin:$PATH
addons:
apt:
sources:
- sourceline: 'ppa:wpilib/toolchain'
- kalakris-cmake
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- binutils-dev
- cmake
- frc-toolchain
- libbfd-dev
- qemu
install:
- source ~/.cargo/env
- rustup target add arm-unknown-linux-gnueabi
- ./on_nightly rustup override set nightly
- ./on_nightly cargo install clippy
#- echo "[target.arm-unknown-linux-gnueabi]" >> ~/.cargo/config
#- echo 'linker = "arm-frc-linux-gnueabi-gcc"' >> ~/.cargo/config
rust:
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
before_script:
- pip install 'travis-cargo' && export PATH=$HOME/.local/bin:$PATH && export PATH=$HOME/.cargo/bin:$PATH
script:
- cd frcredox; cargo rustc --verbose
- cd frcredox; env CC="arm-frc-linux-gnueabi-gcc" cargo rustc --verbose --target=arm-unknown-linux-gnueabi && cd ../
after_success:
- wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz
- tar xzf master.tar.gz && mkdir kcov-master/build && cd kcov-master/build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=$LOCAL .. && make
- make install && cd ../..
- for file in target/debug/libhalredox.rlib; do mkdir -p "target/cov/$(basename $file)"; kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file";
- bash <(curl -s https://codecov.io/bash) &&
- echo "Uploaded code coverage"