diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba5b1fcbb70f882629ddfb99ddd748a7e3a57371..c52508fed910e244e9a1525bbf3d73f5dae63faf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,7 @@ run-test:
   script:
     - chmod 777 -R ./test
     - cd ./test
-    - ./test/run-tests.sh
+    - ./run-tests.sh
   artifacts:
     expire_in: 7 days
     when: always
diff --git a/test/run-tests.sh b/test/run-tests.sh
index fede534a4b17eb148b8dbeb400bcf0a1a33d5b7c..abe3b934118b08def00a7171883edf4631fa2200 100644
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -3,6 +3,8 @@ TEST_FOLDERS=$(ls -d */)
 
 FAILED=0
 
+set -euo pipefail
+
 if ! command -v jq &> /dev/null
 then
   apt-get update
@@ -15,7 +17,7 @@ do
     if [ "$dir" != "test-output" ]; then
         echo "running for $dir"
         EXPECTED=$(jq . "./${dir}/output.json")
-        ACTUAL=$(cd .. && stack run -- walint --repository ./test/${dir} --config-file ./config.json --json --pretty | jq && cd test)
+        ACTUAL=$(cd .. && stack run -- walint --repository ./test/${dir} --config-file ./config.json --json --pretty | jq && cd test) || true
 
 
         if [ "$EXPECTED" != "$ACTUAL" ]; then
@@ -27,5 +29,6 @@ do
     fi
 done
 
+echo "finished"
 exit $FAILED
     
\ No newline at end of file