imag/.travis.yml

87 lines
2.7 KiB
YAML

sudo: false
language: rust
rust:
- beta
- nightly
- stable
cache: cargo
matrix:
allow_failures:
- rust: nightly
before_install:
- |
c=$(git diff $(git merge-base master $TRAVIS_COMMIT)..$TRAVIS_COMMIT --name-only | cut -d "/" -f 1 | uniq)
if [[ "$c" == "doc" ]]; then
echo "Only changes in DOC, exiting 0"
exit 0
else
echo "Changes in other directories than ./doc"
echo "continue build..."
fi
before_script:
- |
pip install 'travis-cargo<0.2' --user &&
export PATH=$HOME/.local/bin:$PATH
script:
- |
travis_cargo_run_in() {
echo ":: Trying to run cargo in $1"
[[ -d "$1" ]] &&
cd "$1" &&
{
{
if [[ $(echo "$1" | grep lib) ]]; then
travis-cargo -q test
else
travis-cargo -q build
fi
} &&
cd -
} || exit 1
}
run_sh_test() {
echo "--- Running test script: '$1'"
bash $1 || { echo "--- Test failed. Exiting"; exit 1; }
echo "--- Test script $1 executed successfully"
}
echo "<< Changes in ./doc are not build by CI >>"
for d in $(find -name "Cargo.toml" | grep -vE "^./Cargo.toml$"); do
echo ":: Working on $d"
dir=$(dirname $d)
{ \
echo -e "\n--- Running in $d ---\n" && \
travis_cargo_run_in $dir && \
echo "--- Running test scripts ---" && \
for testsh in $(find $dir -iname "*test.sh"); do
run_sh_test $testsh
done && \
echo -e "--- Done with test scripts ---\n\n"
} || true
done
addons:
apt:
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
after_success:
- |
pushd .imag-documentation &&
travis-cargo --only stable doc &&
travis-cargo --only stable doc-upload
popd
notifications:
email:
on_success: never
irc:
channels:
- chat.freenode.net#imag
template:
- "%{repository_name} (%{branch} @ %{commit} by %{author}): %{result}"
env:
global:
- TRAVIS_CARGO_NIGHTLY_FEATURE=dev
- secure: D+3exBnbvzFvk7fvLOxkF7UotCc4gBbvvOW4xGr9u6dDjEjV5y6CdDy/OQAkhfKhvSou+lIC22g5MuCBQXFEf/ua7A1XzwBAFeVLK4cWZSa7+ql6LdHKqOg3oF6pQlh095WeWr8S2PYJFFJFg8RGUPnbjqdu1J4KSXqe/7GoZ3lYS69mx7D5Hb93KEN084/KGfBuvyJtMjO1fK3spltL2zV8oqegFpv0gLG5GY4LsJ/7ij4Mc6wepXSyyQbaiA1eKMMwQZDvoi4V1mCulo/jeC3pucGxvgnMV5DZs8aa8R7votltGvSpHCgU78LW19dg8oZqwShQQ+XUYw27H+QK5V1lz1l1MaJLbwS3ySyZBPGH8qUuOzQ3bLp9xhAIRgCui3kX/UDhmeME7nJI6k3UZydh+/ydNB1BZHTKn76XS/yFj0Gcibxg7f5fcAYA6Ge5Sg+YPozuwbcKnKe6IpN2M7qNgWa+6MCSXJ1v4BgPb7kN74EynJUM8+yWEFN7MZtWEUQ4ZsHdCs8Pub4C/zHpYGV8qGenZwQzosAFq56YwoGCvJezz35yg4BDd3IMKenOzNnXLBrdxxqX8ySgwt5B3zBqwve/64Lx6OXjae2m8wZKlsmeqad/s6K7nx0zG15/qqRIzyvgcLXq3jwBaHkteq49FRFWvHQFpBQcsPZ2uH4=