mirror of
https://github.com/ClementTsang/bottom
synced 2024-11-23 20:53:07 +00:00
93 lines
3.4 KiB
YAML
93 lines
3.4 KiB
YAML
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
|