diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 37bc43f979110c4393eabc636793215d713bc1f7..8878b59c7d580de4fec5e23f019d3eb48c120731 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -101,6 +101,39 @@ minimal-sympy-master:
   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 reset --hard $CI_COMMIT_SHA
+    - cd ..
+    - export PYTHONPATH=`pwd`/pystencils:`pwd`/lbmpy:`pwd`/pygrandchem:`pwd`/pystencils_walberla:`pwd`/lbmpy_walberla
+    - ./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 MicroBenchmarkGpuLbm LbCodeGenerationExample
+  tags:
+    - docker
+    - cuda
+    - AVX
+
 # -------------------- Linter & Documentation --------------------------------------------------------------------------