mirror of
https://github.com/mii443/merkle.rs.git
synced 2025-08-22 16:05:30 +00:00
71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
language: rust
|
|
|
|
# Need to cache the whole `.cargo` directory to keep .crates.toml for
|
|
# cargo-update to work
|
|
cache:
|
|
directories:
|
|
- $HOME/protobuf
|
|
- $HOME/.cargo
|
|
|
|
# But don't cache the cargo registry
|
|
before_cache:
|
|
- rm -rf $HOME/.cargo/registry
|
|
|
|
rust:
|
|
- stable
|
|
- beta
|
|
|
|
matrix:
|
|
# Since this item is allowed to fail, don't wait for it's result to mark the
|
|
# build complete.
|
|
fast_finish: true
|
|
allow_failures:
|
|
- env: NAME='nightly'
|
|
- env: NAME='kcov'
|
|
|
|
include:
|
|
- env: NAME='nightly'
|
|
rust: nightly
|
|
|
|
- env: NAME='clippy'
|
|
rust: stable
|
|
before_script:
|
|
- rustup component add clippy-preview
|
|
script:
|
|
- cargo clippy --all-targets --all-features -- -D warnings
|
|
|
|
- env: NAME='kcov'
|
|
sudo: required # travis-ci/travis-ci#9061
|
|
before_script:
|
|
- cargo install cargo-update || echo "cargo-update already installed"
|
|
- cargo install cargo-kcov || echo "cargo-kcov already installed"
|
|
- cargo install-update -a
|
|
script:
|
|
- cargo kcov --print-install-kcov-sh | sh
|
|
- cargo update # Creates `Cargo.lock` needed by next command
|
|
- cargo kcov --verbose --coveralls -- --verify --exclude-pattern=/.cargo,/usr/lib,src/proto
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libcurl4-openssl-dev
|
|
- libdw-dev
|
|
- binutils-dev
|
|
- libiberty-dev
|
|
- zlib1g-dev
|
|
|
|
env:
|
|
global:
|
|
- RUSTFLAGS="-C link-dead-code"
|
|
|
|
script:
|
|
- cargo update
|
|
- cargo build --verbose --all-features
|
|
- cargo test --verbose --all-features
|
|
- cargo doc --verbose --all-features --no-deps
|
|
|
|
before_install:
|
|
- export PATH=$PATH:$HOME/protobuf/bin
|
|
- export PROTOC_VERSION=$(cat PROTOC_VERSION)
|
|
- bash ci/install_protobuf.sh
|
|
|