imag/.travis.yml

65 lines
2.3 KiB
YAML

sudo: false
language: rust
rust:
- beta
- stable
cache: cargo
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:
- |
if [[ "$TEST_SUITE" == "binaries" ]]; then
make $(find . -maxdepth 1 -name "imag-*" -type d -printf "%f ") && \
for d in $(find -name "Cargo.toml" | grep -vE "^./Cargo.toml$"); do
dir=$(dirname $d)
echo "--- Running test scripts ---"
for testsh in $(find $dir -iname "*test.sh"); do
echo "--- Running test script: '$testsh'"
bash $testsh || { echo "--- Test failed. Exiting"; exit 1; }
echo "--- Test script $testsh executed successfully"
done
done
else # $TEST_SUITE == "libraries"
make $(find . -maxdepth 1 -name "libimag*" -printf "test-%f ")
fi
addons:
apt:
packages:
- libcurl4-openssl-dev
- libdw-dev
- libelf-dev
- make
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:
matrix:
- TEST_SUITE=binaries
- TEST_SUITE=libraries
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=