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.40.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.40.0
      name: "Minimal supported rust version == 1.40.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
