diff --git a/.travis.yml b/.travis.yml
index d9aba53..d16c137 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,16 +1,15 @@
 language: rust
-# sudo is required to enable kcov to use the personality syscall
-sudo: required
+dist: bionic # because of tarpaulin
 
 env:
   global:
-    - DISABLE_CLIPPY=1
+    - RUSTFLAGS="-D warnings"
 
 before_install:
   - git clone https://github.com/eldruin/rust-driver-ci-scripts ci
   - bash ci/before_install.sh
 
-matrix:
+jobs:
   include:
     - env: TARGET=x86_64-unknown-linux-gnu
       before_script:
@@ -25,14 +24,6 @@ matrix:
             - libdw-dev
             - binutils-dev
             - cmake
-          sources:
-            - kalakris-cmake
-
-    - env: TARGET=x86_64-unknown-linux-gnu
-      rust: nightly
-
-    - env: TARGET=x86_64-unknown-linux-musl
-      rust: beta
 
     # Minimum Supported Rust Version
     - env: TARGET=x86_64-unknown-linux-gnu
@@ -50,6 +41,13 @@ matrix:
     - env: TARGET=thumbv7em-none-eabihf
     - env: TARGET=thumbv7m-none-eabi
 
+  allow_failures:
+    - env: TARGET=x86_64-unknown-linux-gnu
+      rust: nightly
+
+    - env: TARGET=x86_64-unknown-linux-musl
+      rust: nightly
+
 install:
   bash ci/install.sh
 
@@ -59,9 +57,6 @@ script:
 after_script: set +e
 
 cache: cargo
-cache:
-  directories:
-    - /home/travis/.cargo
 
 before_cache:
   bash ci/before_cache.sh