language: rust rust: - stable - beta os: - linux - osx - windows jobs: allow_failures: - rust: nightly - env: TARGET=x86_64-pc-windows-gnu # Seems to cause problems. TODO: Add test for it, but keep allow fail. fast_finish: true before_install: - export RUST_BACKTRACE=1 - | if [[ $TRAVIS_OS_NAME == "linux" ]]; then export TARGET=x86_64-unknown-linux-gnu; elif [[ $TRAVIS_OS_NAME == "windows" ]]; then export TARGET=x86_64-pc-windows-msvc; elif [[ $TRAVIS_OS_NAME == "osx" ]]; then export TARGET=x86_64-apple-darwin; fi before_script: - rustup target add $TARGET - rustup component add clippy script: - cargo clippy -- -D clippy::all - cargo build --verbose --target $TARGET - cargo test --verbose --target $TARGET # Need to cache the whole `.cargo` directory to keep .crates.toml for cargo-update to work cache: directories: - /home/travis/.cargo # But don't cache the cargo registry. before_cache: - rm -rf /home/travis/.cargo/git - rm -rf /home/travis/.cargo/registry notifications: email: on_success: never before_deploy: - cargo install --path . --target $TARGET - | if [[ $TRAVIS_OS_NAME == "windows" ]]; then choco install zip; rustup target add x86_64-pc-windows-msvc; cargo build --release --target x86_64-pc-windows-msvc; strip "./target/x86_64-pc-windows-msvc/release/btm"; mv "./target/x86_64-pc-windows-msvc/release/btm" "./target/x86_64-pc-windows-msvc/release/btm.exe"; zip bottom_x86_64-pc-windows-msvc.zip "./target/x86_64-pc-windows-msvc/release/btm.exe"; rustup target add i686-pc-windows-msvc; cargo build --release --target i686-pc-windows-msvc; strip "./target/i686-pc-windows-msvc/release/btm"; mv "./target/i686-pc-windows-msvc/release/btm" "./target/i686-pc-windows-msvc/release/btm.exe"; zip bottom_i686-pc-windows-msvc.zip "./target/i686-pc-windows-msvc/release/btm.exe"; else cargo build --release; cp ./target/release/btm btm; strip btm; if [[ $TRAVIS_OS_NAME == "linux" ]]; then tar -czvf bottom_x86_64-unknown-linux-gnu.tar.gz btm; tar -czvf bottom_source_code.tar.gz ./src ./Cargo.toml LICENSE tests README.md; cargo install cargo-deb; cargo deb; cp ./target/debian/bottom_*.deb .; elif [[ $TRAVIS_OS_NAME == "osx" ]]; then tar -czvf bottom_x86_64-apple-darwin.tar.gz btm; fi fi deploy: provider: releases overwrite: true api_key: secure: ppBn0DnqZ+Rzb84doZQxYdUBQ0rVrZNIiH6ZSFEiCVJd0ttqXfOjK/qXbIf/zabwO0Olqz18jwd9piHjNigWRrHwX9N+YH0DZTM3f4WS2/2acvOP3AjSw6oERjYTwS5yKe/XP1sU11uL6O0oAxYFeiAkn7QOM7flVUE2BmmLAs2lLtQ+9ylmUeBGatrkTfQ0Z2i1o7p5mtI2fKUozpImtHq8TClQEsF4oQS5nvkHtpLuPQ0UrJ8vKZijDBeMuLbDkR121ujRnjoBt8+eXBRbwzAvVotwRozyol8noAN3i4VvYueId6oX7Y2DSEp26wnCuRXGurUnyya5JE55AKoevK+SUHRe5+29/2lPbC5d/etZt2tSX1AIJk9fHeIfRPSTzanIIyDpUzSGoMKjl1ARKGrgHYehRxMKpW0cC2xHSlQ+NrA5apLpXKr2IzpkGsxpAxLqRASbX2VJYCEL70WoJfXinZrxeDxXsaWBLGaj9ySyk059GZBMz9GBdYNtwF3G/3aSIt0nkEGgKipgYXHi5keKKGmyfeZyYkRJRbc369JRZiHuOWct+1ZsOdrKKdbyAdcDGj5kbKuYwA6E+wgI62IWvUTm+vtKDuIbLpu/48aOUuEslGHkYAszLTapX/Le9c9XTu3L+PMgkPq2LSyaeGrfnM+DE/Hwe3Jvurccp94= file_glob: true file: - bottom_*.tar.gz - bottom_*.zip - bottom_*.deb skip_cleanup: true on: tags: true condition: "$TRAVIS_RUST_VERSION = stable" repo: ClementTsang/bottom branch: master draft: true