diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bc53eea36eb16cccb33006b4d6bf4eb669ab2fb8..3db1c320e5ab8f3a99ab0d55a4cb987d61cf2a24 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -93,6 +93,45 @@ minimal-conda:
   tags:
     - docker
 
+pycodegen-integration:
+  image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
+  stage: test
+  when: manual
+  script:
+    - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@i10git.cs.fau.de/pycodegen/pycodegen.git
+    - cd pycodegen
+    - git submodule sync --recursive
+    - git submodule update --init --recursive
+    - git submodule foreach git fetch origin   # compare the latest master version!
+    - git submodule foreach git reset --hard origin/master
+    - cd pystencils
+    - git remote add test $CI_REPOSITORY_URL
+    - git fetch test
+    - git reset --hard $CI_COMMIT_SHA
+    - cd ..
+    - pip install -e pystencils/
+    - pip install -e lbmpy/
+    - pip install -e pygrandchem/
+    - ./install_walberla.sh
+    - export NUM_CORES=$(nproc --all)
+    - mkdir -p ~/.config/matplotlib
+    - echo "backend:template" > ~/.config/matplotlib/matplotlibrc
+    - cd pystencils
+    - py.test -v -n $NUM_CORES .
+    - cd ../lbmpy
+    - py.test -v -n $NUM_CORES .
+    - cd ../pygrandchem
+    - py.test -v -n $NUM_CORES .
+    - cd ../walberla/build/
+    - make CodegenJacobiCPU CodegenJacobiGPU CodegenPoisson MicroBenchmarkGpuLbm LbCodeGenerationExample UniformGridBenchmarkGPU_trt UniformGridBenchmarkGPU_entropic_kbc_n4
+    - cd apps/benchmarks/UniformGridGPU
+    - make -j $NUM_CORES
+    - cd ../UniformGridGenerated
+    - make -j $NUM_CORES
+  tags:
+    - docker
+    - cuda
+    - AVX
 
 # -------------------- Linter & Documentation --------------------------------------------------------------------------