diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8a788650e4a0d783481096ce471dfcfe532fb090..73870cdf4fa95277cfa9f5e5afb7d6a9a92c6a93 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -234,6 +234,51 @@ minimal-sympy-master:
     - cuda
 
 
+pycodegen-integration:
+  image: i10git.cs.fau.de:5005/pycodegen/pycodegen/full
+  stage: test
+  when: manual
+  allow_failure: true
+  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/
+    - cmake --version
+    - ./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 --junitxml=report.xml .
+    - cd ../lbmpy
+    - py.test -v -n $NUM_CORES --junitxml=report.xml .
+    - cd ../walberla/build/
+    - make -j $NUM_CORES CodegenJacobiCPU CodegenJacobiGPU CodegenPoissonCPU CodegenPoissonGPU MicroBenchmarkGpuLbm LbCodeGenerationExample
+    - make -j $NUM_CORES multiphaseCPU multiphaseGPU FluctuatingMRT FlowAroundSphereCodeGen FieldLayoutAndVectorizationTest GeneratedOutflowBC
+    - cd apps/benchmarks/UniformGridGPU
+    - make -j $NUM_CORES
+    - cd ../UniformGridCPU
+    - make -j $NUM_CORES
+  tags:
+    - docker
+    - cuda11
+    - AVX
+  artifacts:
+    when: always
+    reports:
+      junit: pycodegen/*/report.xml
+
+
 # -------------------- Scheduled Tasks --------------------------------------------------------------------------