mentat/.travis.yml

54 lines
2.3 KiB
YAML
Raw Normal View History

2016-12-16 18:45:58 +00:00
language: rust
# We use OSX so that we can get a reasonably up to date version of SQLCipher.
# (The version in Travis's default Ubuntu Trusty is much too old).
os: osx
before_install:
- brew install sqlcipher --with-fts
rust:
- 1.25.0 # Must align with `build/version.rs`.
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
fast_finish: true
install:
- |
if [[ "$TRAVIS_RUST_VERSION" = "1.25.0" ]]; then
rustup target add aarch64-apple-ios armv7-apple-ios armv7s-apple-ios x86_64-apple-ios i386-apple-ios &&
# Cargo-lipo needs to be Beta version available on master and not crates version to handle building in subdirectories
cargo install --git https://github.com/TimNN/cargo-lipo &&
# If we don't list the devices available then when we come to pick on during the test run travis can't find our device.
# TODO: See if there is a less time consuming way of doing this.
instruments -s devices
fi
script:
- cargo test --verbose --all
- cargo test --features edn/serde_support --verbose --all
# We can't pick individual features out with `cargo test --all` (At the time of this writing, this
# works but does the wrong thing because of a bug in cargo, but its fix will be to disallow doing
# this all-together, see https://github.com/rust-lang/cargo/issues/5364 for more information). To
# work around this, we run individual tests for each subcrate individually.
- |
for manifest in $(find . -type f -name Cargo.toml); do
cargo test --manifest-path $manifest --verbose --no-default-features --features sqlcipher
done
- |
if [[ "$TRAVIS_RUST_VERSION" = "1.25.0" ]]; then
cd ffi &&
cargo lipo --release &&
cd ../sdks/swift/Mentat &&
xcodebuild -configuration Debug -scheme "Mentat Debug" -sdk iphonesimulator test -destination 'platform=iOS Simulator,name=iPhone X,OS=11.4' &&
cd ../../..
fi
after_success:
- |
if [[ "$TRAVIS_PULL_REQUEST" = "false" && "$TRAVIS_BRANCH" == "master" ]]; then
cargo doc &&
echo "<meta http-equiv=refresh content=0;url=mentat/index.html>" > target/doc/index.html &&
git clone https://github.com/davisp/ghp-import.git &&
./ghp-import/ghp_import.py -n -p -f -r https://"$GH_TOKEN"@github.com/"$TRAVIS_REPO_SLUG.git" target/doc
fi
cache: cargo