mirror of
https://github.com/actix/actix-web.git
synced 2024-12-20 23:26:44 +00:00
68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
language: rust
|
|
|
|
rust:
|
|
- stable
|
|
- beta
|
|
- nightly
|
|
|
|
sudo: required
|
|
dist: trusty
|
|
|
|
env:
|
|
global:
|
|
- RUSTFLAGS="-C link-dead-code"
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
- cmake
|
|
- gcc
|
|
- binutils-dev
|
|
- libiberty-dev
|
|
|
|
# Add clippy
|
|
before_script:
|
|
- |
|
|
if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
|
|
( ( cargo install clippy && export CLIPPY=true ) || export CLIPPY=false );
|
|
fi
|
|
- export PATH=$PATH:~/.cargo/bin
|
|
|
|
script:
|
|
- cargo test --no-default-features
|
|
- |
|
|
if [[ "$TRAVIS_RUST_VERSION" == "nightly" && $CLIPPY ]]; then
|
|
cargo clippy
|
|
fi
|
|
|
|
# Upload docs
|
|
after_success:
|
|
- |
|
|
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" && "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
|
|
cargo doc --no-deps &&
|
|
echo "<meta http-equiv=refresh content=0;url=os_balloon/index.html>" > target/doc/index.html &&
|
|
git clone https://github.com/davisp/ghp-import.git &&
|
|
./ghp-import/ghp_import.py -n -p -f -m "Documentation upload" -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc &&
|
|
echo "Uploaded documentation"
|
|
fi
|
|
|
|
- |
|
|
if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then
|
|
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/actix_web-*[^\.d]; do mkdir -p "target/cov/$(basename $file)"; ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
|
|
for file in target/debug/test_*[^\.d]; do mkdir -p "target/cov/$(basename $file)"; ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
|
|
bash <(curl -s https://codecov.io/bash) &&
|
|
echo "Uploaded code coverage"
|
|
fi
|