diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e1a5ed1fc2155ff34b0ea5c73e165d57392d5c0d..aa3e97b102d5e87c93c5ca8c8f04cab0b3797709 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,12 +18,18 @@ build-job:       # This job runs in the build stage, which runs first.
 unit-test-job:   # This job runs in the test stage.
   stage: test    # It only starts when the job in the build stage completes successfully.
   script:
+    - pip install -r requirements.txt
+    - pip install -r requirements-dev.txt
+    - pip install -e .
     - coverage run --source readsequencer -m pytest
     - coverage report -m
 
 lint-test-job:   # This job also runs in the test stage.
   stage: test    # It can run at the same time as unit-test-job (in parallel).
   script:
+    - pip install -r requirements.txt
+    - pip install -r requirements-dev.txt
+    - pip install -e .
     - flake8 --docstring-convention google readsequencer/ tests/
     - pylint readsequencer/ tests/