diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5a2937c9f7c5a9b03c4a31a3c9fac35e772b2e09
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,11 @@
+image: "rust:latest"
+
+before_script:
+  - rustup component add rustfmt
+  - rustup component add clippy
+
+test:
+  script:
+    - cargo fmt -- --check
+    - cargo clippy --all-targets --all-features -- -D warnings
+    - cargo test
diff --git a/src/packet.rs b/src/packet.rs
index 8f134ede4dcd67ec02fecd307ba7fb0c2eb822b8..42d4b8cf0ad2667b3d6113b2537b83437db0803d 100644
--- a/src/packet.rs
+++ b/src/packet.rs
@@ -714,7 +714,7 @@ mod tests {
         for data in cases {
             let mut buf = [0; 1024];
             let mut buf = Buffer::new_empty(&mut buf);
-            buf.extend(&data);
+            buf.extend(data);
             let _ = Packet::<1024>::decode(buf);
         }
     }
diff --git a/src/whitener.rs b/src/whitener.rs
index 79d21d97d4a8fa58b6bc6c616e3041fdbd560b77..8832616babfdf9d1d75c2833b8fd4b3362f14de1 100644
--- a/src/whitener.rs
+++ b/src/whitener.rs
@@ -17,7 +17,7 @@ mod tests {
         let mut data = [0; 64];
         data[0..57]
             .clone_from_slice(&b"Hello world! The quick brown fox jumped over the lazy dog"[..]);
-        let orig = data.clone();
+        let orig = data;
 
         whiten(&mut data);
         assert_ne!(orig, data);