smithay/.travis.yml

111 lines
3.1 KiB
YAML

language: rust
cache: cargo
sudo: required
rust:
- stable
- beta
- nightly
os:
- linux
dist: trusty
addons:
apt:
packages:
- libssl-dev
- libudev-dev
- libgbm-dev
- libxkbcommon-dev
- libegl1-mesa-dev
before_install:
- sudo add-apt-repository -y ppa:wayland.admin/daily-builds
- sudo apt-get update -qq
- sudo apt-get install -y libwayland-dev libinput-dev
branches:
only:
- master
before_script:
- export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH
- |
if [ "$FEATURES" = "cargo-fmt" ]; then
cargo install rustfmt-nightly --force;
fi
- |
if [ "$FEATURES" = "cargo-clippy" ]; then
cargo install clippy --force;
fi
- mkdir $(pwd)/socket
- export XDG_RUNTIME_DIR="$(pwd)/socket"
script:
- |
case $FEATURES in
"all")
cargo test --all-features &&
cargo doc --no-deps --all-features
;;
"default")
cargo test &&
cargo doc --no-deps
;;
"cargo-fmt")
cargo fmt -- --write-mode=diff
;;
"cargo-clippy")
cargo clippy --all-features -- -D warnings
;;
*)
cargo test --lib --doc --tests --no-default-features --features "$FEATURES" &&
cargo doc --no-deps --no-default-features --features "$FEATURES"
esac
after_success:
- |
[ $TRAVIS_RUST_VERSION = "stable" ] &&
[ $TRAVIS_BRANCH = "master" ] &&
[ $TRAVIS_PULL_REQUEST = "false" ] &&
[ $FEATURES = "all" ] &&
./doc_upload.sh
env:
global:
- RUST_BACKTRACE=1
- secure: lJjdHvIm6Pzimdik+SafO/MOWLLGY5TJdI7hWcwQ4+XNjuwncKx9ZJ8zqr2xClUKSALvUWB+vdu7i9wTWtsOYnDpyy8wuRvBZoaD5c8H2igsnzmGPPtP5KlPi5sEYvcCRY4vf9GDrvZm6tkNwMRsJBJ+2W/dSOTudMQA9mkdQcn5x24HVUBBOKEEuNy5ZOHZIj/+tre3USC8PbVvWyC5HHHjjEMBKR3F/BoaR1BJq2u4BdyDGTkfsoUa1zaTjApcZiEEK9KhoWDentkmlJHJCHKxC/zIZGhNx8ukw2yrms6j1k94jXB3rJP97q8UyNFcCO1HVO46EdLB6sFUPAW0CuDM27xIHDv+FyU3ICZVlpKQIK8YPJuLmQbCJFpVvEgfNfCIm+7+4jDci09FmHhuW+wQrTZDsRbCQz2gtVveeoE9/cZy5qAbI+UW4F25GGg9Ycxn+VOBU6Zdg8T9MLRRbHJXCzjMmJrNwK+6fEnCsMoVxwbRF9Fsh2JXS0PFdQgJSGtYYW31HEUEu4zrUuooJtz4CAgR+vB9oBxHfu6Y9GXZFmTsrUyuvGSl5vFB3AXLK6AP3BeXu3Bq2wQDy7ClQxvxkpN/eCKKxwV9vE9nRY0eD1sc6esv2gTjlV+gqs7V7JL8VvZulzZZ2gk6S/GhImCqyhJTqziKR7RXsPRZ2Zw=
matrix:
- FEATURES=""
# test individual features
- FEATURES="backend_winit"
- FEATURES="backend_drm"
- FEATURES="backend_libinput"
- FEATURES="renderer_glium"
# test default features
- FEATURES="default"
# test all features simultaneously
- FEATURES="all"
matrix:
include:
# special features for lint & fmt
- rust: nightly
env: FEATURES="cargo-fmt"
- rust: nightly
env: FEATURES="cargo-clippy"
allow_failures:
- rust: nightly
notifications:
webhooks:
urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MGxldmFucyUzQXNhZmFyYWRlZy5uZXQvJTIxRkt4aGprSUNwakJWelZlQ2RGJTNBc2FmYXJhZGVnLm5ldA"
on_success: change
on_failure: always
on_start: never