diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 86f7df78b3c9c600c80b17a9d1e43d60035e6020..26c66e0cd334a878c52c0a64c1e06b64340a154b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,11 +2,22 @@ image: python:3
 
 variables:
   TEST_DATASET_NAME: "L570745_uv_first10.MS.tar.xz"
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+
+cache:
+  paths:
+    - .cache/pip
+    - venv/
 
 before_script:
+  - python -V  # Print out python version for debugging
+  - pip install virtualenv
+  - virtualenv venv
+  - source venv/bin/activate
   - pip install cwltool
   - cd test_data
   - tar -xvf ${TEST_DATASET_NAME}
+  - cd $CI_PROJECT_DIR
 
 after_script:
   - echo "All done"