language: rust
dist: xenial
rust:
  - stable
  - beta
  - nightly
cache:
  directories:
    - $HOME/.cargo
    - $HOME/.rustup
before_cache:
  - rm -rf /home/travis/.cargo/registry
addons:
  postgresql: '9.5'
services:
  - mysql
before_install:
 # install sqlite3 version 3.24.0
  - |
    if [[ "$BACKEND" == sqlite ]]; then
      (sudo apt-get update) &&
      (wget --quiet -c https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz) &&
      (tar zxf sqlite-autoconf-3240000.tar.gz;) &&
      (cd sqlite-autoconf-3240000; \
       CFLAGS="$CFLAGS -O2 -fno-strict-aliasing \
                   -DSQLITE_DEFAULT_FOREIGN_KEYS=1 \
                   -DSQLITE_SECURE_DELETE \
                   -DSQLITE_ENABLE_COLUMN_METADATA \
                   -DSQLITE_ENABLE_FTS3_PARENTHESIS \
                   -DSQLITE_ENABLE_RTREE=1 \
                   -DSQLITE_SOUNDEX=1 \
                   -DSQLITE_ENABLE_UNLOCK_NOTIFY \
                   -DSQLITE_OMIT_LOOKASIDE=1 \
                   -DSQLITE_ENABLE_DBSTAT_VTAB \
                   -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \
                   -DSQLITE_ENABLE_LOAD_EXTENSION \
                   -DSQLITE_ENABLE_JSON1 \
                   -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
                   -DSQLITE_THREADSAFE=1 \
                   -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \
                   -DSQLITE_MAX_SCHEMA_RETRY=25 \
                   -DSQLITE_ENABLE_PREUPDATE_HOOK \
                   -DSQLITE_ENABLE_SESSION \
                   -DSQLITE_ENABLE_STMTVTAB \
                   -DSQLITE_MAX_VARIABLE_NUMBER=250000" \
       ./configure --prefix=/usr \
                   --enable-threadsafe \
                   --enable-dynamic-extensions \
                   --libdir=/usr/lib/x86_64-linux-gnu \
                   --libexecdir=/usr/lib/x86_64-linux-gnu/sqlite3) &&
      (cd sqlite-autoconf-3240000; sudo make; sudo make install)
    fi
before_script:
  - pip install 'travis-cargo<0.2' --user
  - export PATH=$HOME/.local/bin:$PATH
  - mysql -e "create database diesel_test; create database diesel_unit_test; grant all on \`diesel_%\`.* to 'travis'@'%';" -uroot
  - rm rust-toolchain
script:
- |
  rustc --version &&
  if [[ "$TRAVIS_RUST_VERSION" == nightly* ]]; then
    (cd diesel && cargo test --no-default-features --features "unstable extras $BACKEND")
  else
    (cd diesel && cargo test --no-default-features --features "extras $BACKEND")
  fi &&
  (cd diesel && cargo test --no-default-features --features "extras with-deprecated $BACKEND") &&
  (cd diesel_derives && cargo test --features "diesel/$BACKEND") &&
  if [[ "$TRAVIS_RUST_VERSION" == nightly* ]]; then
    (cd diesel_derives && cargo test --features "diesel/unstable diesel/$BACKEND")
  fi &&
  (cd "examples/$BACKEND" && ./test_all) &&
  (cd diesel_cli && cargo test --no-default-features --features "$BACKEND") &&
  (cd diesel_migrations/migrations_internals && cargo test ) &&
  (cd diesel_migrations/migrations_macros && cargo test ) &&
  (cd diesel_migrations/ && cargo test  --features "$BACKEND diesel/$BACKEND" ) &&
  if [[ "$TRAVIS_RUST_VERSION" == nightly* ]]; then
    (cd diesel_tests && cargo test --no-default-features --features "unstable $BACKEND")
  else
    (cd diesel_tests && cargo test --no-default-features --features "$BACKEND")
  fi
matrix:
  allow_failures:
    - rust: nightly
  include:
  - rust: nightly-2019-08-01
    name: "Compile tests"
    env: RUSTFLAGS="--cap-lints=warn"
    script:
    - (cd diesel_compile_tests && cargo test)
  - rust: 1.37.0
    name: "Rustfmt && Clippy"
    script:
    - rustup component add rustfmt clippy
    - cargo clippy
    - cargo fmt --all -- --check
  - rust: stable
    name: "Bundled Sqlite"
    env:
    - SQLITE_DATABASE_URL=/tmp/test.db
    script:
    - (cd diesel_cli && cargo test --no-default-features --features "sqlite-bundled")
  - rust: 1.37.0
     name: "Minimal supported rust version == 1.37.0"
    script:
    - cargo check --all

env:
  matrix:
    - BACKEND=sqlite
      SQLITE_DATABASE_URL=/tmp/test.db
    - BACKEND=postgres
      PG_DATABASE_URL=postgres://postgres@localhost/
      PG_EXAMPLE_DATABASE_URL=postgres://postgres@localhost/diesel_example
    - BACKEND=mysql
      MYSQL_DATABASE_URL=mysql://travis@localhost/diesel_test
      MYSQL_EXAMPLE_DATABASE_URL=mysql://travis@localhost/diesel_example
      MYSQL_UNIT_TEST_DATABASE_URL=mysql://travis@localhost/diesel_unit_test
      RUST_TEST_THREADS=1
  global:
    - TRAVIS_CARGO_NIGHTLY_FEATURE=""
    - secure: NmCM1VNEzid6bROA7tXV1R63n9S9KvY1etXsDzd1608cvjRnG3ZDAWXISbY1BxqrvleElreUJOvz/3TSQCHivpT2ezeyk2sntYtZpw0TWbz1SQMAPNWPTjP3bNQzpmNwfU4p6ui6qIOnQza4JxOu3SZSveNlehDBPkkS+52R7Zw/EPdwi9jTYJArV2+8pnEsQECAdRLttbtA2JBl3hZ4VHfGpHRZyeULn63UzyVbQVzQ3NVhqyQUKTPdpUciQTI3fZEkfaWuLV8QPPa5026/yJEEi2Fsl3r7fyY8ia67k4Zo9THlPVD0YOUlkWuZWwvkxNA8RQSVPv4FidEpwbxG8y6nAra4CjwiEChcpFhZJtrH7ZrXO/tJk7vtc5CFVWUsQtNX92QY1QFdPxwYNBSICLyUN+A+BQURwvQgxdcJsJyQmh5Ed7yuavcAinVq7fPeOyBWcPL5mt17no16aG1rzvXSUnD0aH7F3S3DHkoM9P9iHgJMLk+2YNmJtFescBxCeG8bA7t5bw0kQNH5KUWAD1uYpC9ikB3NVdlc+q17dKTAe4rcYA+sIO+UGudvpmLWT0lXtEMqDfxfCmyICDESs9bNfueCGJEAnfTBNunsJqR7rMUvjNndS2/Ssok6c/0Yfb9X8cM9nI4QLAj/+hClqdYphmpCjuC34bWxFSt/KJI=
after_success:
- |
  if [[ "$TRAVIS_RUST_VERSION" == stable ]]; then
    (cd diesel && cargo doc --features "postgres sqlite mysql extras")
    mkdir diesel/target
    mv target/doc diesel/target/doc
    echo "docs.diesel.rs" > diesel/target/doc/CNAME
    (cd diesel && travis-cargo doc-upload)
  fi
branches:
  only:
    - master
    - ಠ_ಠ
notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/1d32e0ad32841bd56b02
    on_success: change
    on_failure: always
    on_start: never
