mirror of https://github.com/tikv/client-rust.git
49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
sudo: false
|
|
|
|
language: rust
|
|
os:
|
|
- linux
|
|
# - windows # TODO: https://github.com/pingcap/kvproto/issues/355
|
|
- osx
|
|
rust:
|
|
# Requires nightly for now, stable can be re-enabled when async/await is stable.
|
|
# - stable
|
|
- nightly
|
|
env:
|
|
global:
|
|
- RUST_BACKTRACE=1
|
|
- RUSTFLAGS="-D warnings"
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
- sourceline: 'ppa:maarten-fonville/protobuf'
|
|
packages:
|
|
- protobuf-compiler
|
|
homebrew:
|
|
packages:
|
|
- protobuf
|
|
- cmake
|
|
- go
|
|
|
|
install:
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then rustup component add rustfmt; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then rustup component add clippy; fi
|
|
- if [[ $TRAVIS_OS_NAME == "windows" ]]; then choco install golang cmake strawberryperl protoc; fi
|
|
- if [[ $TRAVIS_OS_NAME == "windows" ]]; then export PATH="$PATH:/c/Go/bin/:/c/Program Files/CMake/bin"; fi
|
|
|
|
script:
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then cargo fmt -- --check; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then cargo clippy -- -D clippy::all; fi
|
|
- cargo test --all -- --nocapture
|
|
# For now we only run full integration tests on Linux. Here's why:
|
|
# * Docker on OS X is not supported by Travis.
|
|
# * Docker on Windows seems to not have the correct binary at `"/c/Program Files/Docker/Docker/DockerCli.exe" to switch it to Linux containers.
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then docker run -d --net=host --name pd --rm pingcap/pd --name "pd" --data-dir "pd" --client-urls "http://127.0.0.1:2379" --advertise-client-urls "http://127.0.0.1:2379"; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then docker run -d --net=host --name kv --rm --ulimit nofile=90000:90000 pingcap/tikv --pd-endpoints "127.0.0.1:2379" --addr "127.0.0.1:2378" --data-dir "kv"; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then docker ps; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then docker logs pd; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then docker logs kv; fi
|
|
- if [[ $TRAVIS_OS_NAME == "linux" ]]; then PD_ADDRS="127.0.0.1:2379" cargo test --all --features integration-tests -- --nocapture; fi
|