diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f69715e13bf97d04f7adfb53ee53c7a31c9f7bb2..1a5fbf0af68a3f9fd37ba297a58b85291179377b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,13 +1,38 @@
 image: hpvm/gitlab-ci
 variables:
   GIT_SUBMODULE_STRATEGY: recursive
+  # Use a better compressor
+  FF_USE_FASTZIP: "true"
+  # output upload and download progress every 2 seconds
+  TRANSFER_METER_FREQUENCY: "2s"
+  # Use no compression for artifacts
+  CACHE_COMPRESSION_LEVEL: "fastest"
+cache:
+  key: "$CI_COMMIT_REF_SLUG"
+  paths:
+    - hpvm/build/
+    - hpvm/llvm/
+    - hpvm/test/dnn_benchmarks/model_params/
+
 build:
   stage: build
   tags:
     - hpvm
   script:
-    - source activate hpvm
-    - cd hpvm
+    - pwd
+    - source activate hpvm && cd hpvm
     - ./install.sh -j32 -t "X86" DCMAKE_BUILD_TYPE=Release
+    - cd ..
   only:
-    - approx_hpvm_devops
+    changes:
+      - hpvm/scripts/hpvm_installer.py
+
+tests:
+  stage: test
+  tags:
+    - hpvm
+  script:
+    - pwd
+    - source activate hpvm && cd hpvm
+    - ./install.sh -j32 -t "X86" DCMAKE_BUILD_TYPE=Release
+    - cd build && make -j32 check-hpvm-pass