language: rust cache: cargo # cache cargo-audit once installed before_script: # - cargo install --force clippy - cargo install --force cargo-audit - cargo generate-lockfile script: - cargo audit # 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 rust: - 1.43.0 - 1.44.0 - 1.45.0 - stable - beta - nightly matrix: allow_failures: - rust: stable - rust: nightly fast_finish: true jobs: include: - stage: "Test iOS" rust: 1.45.0 script: ./scripts/test-ios.sh - stage: "Docs" rust: 1.45.0 script: ./scripts/cargo-doc.sh script: - cargo build --verbose --all # - cargo clippy --all-targets --all-features -- -D warnings # Check tests and non-default crate features. - 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 tests individually for subcrates that rely on `rusqlite`. - | for crate in "" "db" "db-traits" "ffi" "public-traits" "query-projector" "query-projector-traits" "query-pull" "sql" "tolstoy" "tolstoy-traits" "transaction" "tools/cli"; do cargo test --manifest-path ./$crate/Cargo.toml --verbose --no-default-features --features sqlcipher done cache: cargo