diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f2b4ab78058e133e9698504b29fb6ea39b2e0baf..882d1b99197cddcc98f5350c64b82fd3634d9c59 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,11 +7,12 @@
 # See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
 
 stages:
+  - static
   - build
   - test
 
 flawfinder-sast:
-  stage: test
+  stage: static
   needs: []
   dependencies: []
 
@@ -21,7 +22,7 @@ include:
 image: ubuntu:jammy
 
 code_quality:
-  stage: test
+  stage: static
   allow_failure: true
   needs: []
   dependencies: []
@@ -84,6 +85,26 @@ linux:test:
     reports:
       junit: build/report.xml
 
+linux:valgrind:
+  only:
+    - main
+    - merge_requests
+
+  stage: test
+  tags:
+    - docker
+  
+  needs: ["linux:build"]
+  script:
+    - DEBIAN_FRONTEND=noninteractive apt update && apt install -y libmsgpackc2 liburiparser1 valgrind
+    - cd build
+    - valgrind --error-exitcode=1 ./test/net_integration
+
+  artifacts:
+    when: always
+    reports:
+      junit: build/report.xml
+
 ### Windows
 
 #windows:build: