diff --git a/.travis.yml b/.travis.yml index 1a919db9..c9e1768a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,87 +1,46 @@ -# Based on the "trust" template v0.1.1 -# https://github.com/japaric/trust/tree/v0.1.1 - -dist: trusty language: rust -services: docker -sudo: required -cache: cargo +cache: + - cargo + before_cache: -- chmod -R a+r $HOME/.cargo + - chmod -R a+r $HOME/.cargo env: global: - - CRATE_NAME=mdbook - - secure: DPzSRXyfRIVTibv1wOKFeGekXlL8sumGEZxpeq911MpLlrndOKmOo5Ibi3JD8fbUOsE9A/5spj4B2KQNjhbplH+Cp26oEikjuNAA6cA/b2+/TMoC3i0klAYpVopBBV3FFna0gLP+q6t6fzG2v9TJrvmmVav6KVX6ylPNvD/LoReCjrkpgLIQuAQ6dSQNor9uV+EVt4plKhhkiS28DlYdgmTvNb5g4dzOhs8hoWty72J765VYWEDDC8qXn6N9GyrhsC3dhjASGn+1QDSCADYdbG9nrRlb4CZhrfcgOnHhAFva363kshg9HtCphigMgQy2oZXk4nLWK90/HuaPPkVj+N/lpIYjtiHOunToZJfIb0MWzyVI+7+I7WR6n6XbhLCPMe/sPXHHQ3HhQhZZ9xv7CDx9IkYJQBcF3LC+9kzJRi4QT0UTqrxcO3ncgXwvholP8Vg2KKPqFcbuyLPzbvr/o8zIilvLUFAEoDPfTEwSAC4BCzaGkFQVWzhWkgw8Pe1ckOEYFkZ0VLBuCpEiz+x45sbBL1SnnO5xhpjmdc572ZyW7ZmAABw1VfiWhhBWg4WGSf8lLnDHhNA36Qon34pnME/xpJQtWoo7ZZkkzvzYP/oW88/0UIMWDSOYKz7MijXlbNUggwAwUhrLzXDuB71HUKfPreFubfUxbOpu+OtTcOQ= - -matrix: - include: - # Android - - env: TARGET=arm-linux-androideabi DISABLE_TESTS=1 - - # Linux - - env: TARGET=aarch64-unknown-linux-gnu - - env: TARGET=arm-unknown-linux-gnueabi - - env: TARGET=i686-unknown-linux-gnu - - env: TARGET=x86_64-unknown-linux-gnu - - env: TARGET=x86_64-unknown-linux-musl - - # Mac - - env: TARGET=i686-apple-darwin - os: osx - - env: TARGET=x86_64-apple-darwin - os: osx - - # BSD - - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1 - - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1 - - env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1 - - # Other channels - - env: TARGET=x86_64-unknown-linux-gnu - rust: beta - - env: TARGET=x86_64-apple-darwin - os: osx - rust: beta - - env: TARGET=x86_64-unknown-linux-gnu - rust: nightly - - env: TARGET=x86_64-apple-darwin - os: osx - rust: nightly - -before_install: -- set -e -- rustup self update + - CRATE_NAME=mdbook + - TARGET=x86_64-unknown-linux-gnu install: -- sh ci/install.sh -- source ~/.cargo/env || true + - sh ci/install.sh + - export PATH=$PATH:$HOME/.cargo/bin script: -- bash ci/script.sh + - cargo build --all --no-default-features + - cargo build --verbose + - cargo test --verbose after_success: -- bash ci/github_pages.sh + - bash ci/github_pages.sh before_deploy: -- sh ci/before_deploy.sh + - sh ci/before_deploy.sh deploy: + provider: releases api_key: - - secure: cURRWBr034iqBz/ifD7uOunBfNR30YxIXfgLX0osWz+iafkVbhDGYYz9sBmRraqO2P7L2koEXMADVb/md1kI2+ykiq/ml+l9zuEAZPVmvSGUN7ZD+7s+lu3l5OBPG5z175T+b2q2q2m8XVR7TW20ra4QbE0bq06KAoOyjSgQVBTSCYsL9uTsGwiVRMEqqJT/BmKhKJNkpGsTKyBSKkOXvfeAAbE260vXUDEN9TYdJ3fvteRrpwLX56ee64gIZUq0RjDc4SKIEqilM6iUtNMvurqaewYNGkiXKRruV6BPCHxEHo6NNT46kOJLBJTf7gZw//dWhSoWpg9P0gdAnPWm407kSa3F7aJ1eRShAFQ4BLyfz9efTqm+jP3fOp7Mm7igSh9w6caSRuOnSsUf5+raRQ8E5Y9HsWGzzpZQk24Fx9EGZ04EeDSdpZAFz+jcbMpHf8t2p4CEx0CCNwYvKx6EydMKbMF5QteQ8SQkXNLhv7Rz2OgtXWYZPRVCMfQfOplsi2InsLCrQxTgwh+6u654SqVSgaHG+IncEAxBrdWy4rHcg7qereUcKfcY3k96vaDxdn/T2c00Ig0aNFR91YnixGMd6J6tQgDcRK9jh6fUm1CCBE9hT+pNUmtgYKuWBoLZexUZFFnfuBed0WciBot1bGDDamndqKq0jJiAzg+GMHk= + - secure: cURRWBr034iqBz/ifD7uOunBfNR30YxIXfgLX0osWz+iafkVbhDGYYz9sBmRraqO2P7L2koEXMADVb/md1kI2+ykiq/ml+l9zuEAZPVmvSGUN7ZD+7s+lu3l5OBPG5z175T+b2q2q2m8XVR7TW20ra4QbE0bq06KAoOyjSgQVBTSCYsL9uTsGwiVRMEqqJT/BmKhKJNkpGsTKyBSKkOXvfeAAbE260vXUDEN9TYdJ3fvteRrpwLX56ee64gIZUq0RjDc4SKIEqilM6iUtNMvurqaewYNGkiXKRruV6BPCHxEHo6NNT46kOJLBJTf7gZw//dWhSoWpg9P0gdAnPWm407kSa3F7aJ1eRShAFQ4BLyfz9efTqm+jP3fOp7Mm7igSh9w6caSRuOnSsUf5+raRQ8E5Y9HsWGzzpZQk24Fx9EGZ04EeDSdpZAFz+jcbMpHf8t2p4CEx0CCNwYvKx6EydMKbMF5QteQ8SQkXNLhv7Rz2OgtXWYZPRVCMfQfOplsi2InsLCrQxTgwh+6u654SqVSgaHG+IncEAxBrdWy4rHcg7qereUcKfcY3k96vaDxdn/T2c00Ig0aNFR91YnixGMd6J6tQgDcRK9jh6fUm1CCBE9hT+pNUmtgYKuWBoLZexUZFFnfuBed0WciBot1bGDDamndqKq0jJiAzg+GMHk= file_glob: true file: "$CRATE_NAME-$TRAVIS_TAG-$TARGET.*" on: condition: "$TRAVIS_RUST_VERSION = stable" tags: true - provider: releases skip_cleanup: true branches: only: - - "/^v\\d+\\.\\d+\\.\\d+.*$/" - - master + - "/^v\\d+\\.\\d+\\.\\d+.*$/" + - master notifications: email: diff --git a/ci/before_deploy.sh b/ci/before_deploy.sh index c74f519f..9d3f92b5 100644 --- a/ci/before_deploy.sh +++ b/ci/before_deploy.sh @@ -6,20 +6,9 @@ main() { local src=$(pwd) \ stage= - case $TRAVIS_OS_NAME in - linux) - stage=$(mktemp -d) - ;; - osx) - stage=$(mktemp -d -t tmp) - ;; - esac + cargo rustc --bin mdbook --target $TARGET --release -- -C lto - test -f Cargo.lock || cargo generate-lockfile - - cross rustc --bin mdbook --target $TARGET --release -- -C lto - - cp target/$TARGET/release/mdbook $stage/ + cp target/release/mdbook $stage/ cd $stage tar czf $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.tar.gz * @@ -28,4 +17,4 @@ main() { rm -rf $stage } -main \ No newline at end of file +main diff --git a/ci/script.sh b/ci/script.sh deleted file mode 100644 index cccf6a31..00000000 --- a/ci/script.sh +++ /dev/null @@ -1,22 +0,0 @@ -# This script takes care of testing your crate - -set -ex - -main() { - cross build --target $TARGET --all --no-default-features - cross build --target $TARGET --all - cross build --target $TARGET --all --release - - if [ ! -z $DISABLE_TESTS ]; then - return - fi - - cross test --target $TARGET --no-default-features - cross test --target $TARGET - cross test --target $TARGET --release -} - -# we don't run the "test phase" when doing deploys -if [ -z $TRAVIS_TAG ]; then - main -fi \ No newline at end of file