diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c9104c7e48c91756520f7c5ed4dba0e70f2f5493..22aa6ee38d88efb3d1e66f0b3e2c101906457435 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,13 @@ stages:
   - test
   - stats
 
+variables:
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+cache:
+  paths:
+    - .cache/pip
+    - .cache/apt
+
 build:
   stage: build
   image: python:3.9.18-bookworm
@@ -12,23 +19,29 @@ build:
     paths:
       - build/
 
-
 unittest:
   stage: test
   image: python:3.9.18-bookworm
   before_script:
+    - pip install .
     - pip install coverage
   script:
     - bash run_tests.sh
+  dependencies:
+    - build
+  artifacts:
+    paths:
+      - .coverage*
 
 coverage_python:
   stage: stats
   image: python:3.9.18-bookworm
   script:
+    - pip install .
     - pip install coverage
-    - coverage xml --include="dbbc/*"
-    - coverage html --include="dbbc/*"
-    - coverage report --include="dbbc/*"
+    - coverage xml --include="pafsim/*"
+    - coverage html --include="pafsim/*"
+    - coverage report --include="pafsim/*"
   dependencies:
     - unittest
   coverage: '/TOTAL.*\s+(\d+\%)/'
@@ -48,7 +61,7 @@ pylint:
     - pip install pylint==2.13.5 anybadge==1.9.0 pylint-exit==1.2.0
   script:
     - mkdir ./pylint
-    - pylint --output-format=colorized dbbc | tee ./pylint/pylint.log || pylint-exit $?
+    - pylint --output-format=colorized pafsim | tee ./pylint/pylint.log || pylint-exit $?
     - PYLINT_SCORE=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' ./pylint/pylint.log)
     - anybadge --label=Pylint --file=pylint/pylint.svg --value=$PYLINT_SCORE 8.5=red 9=orange 9.5=yellow 9.75=green
     - echo "Pylint score is $PYLINT_SCORE"