diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cff277a189d923b957ea9dd43f6853d414b4aaef..abc515455bc010a9ec966c06410e7f749e5719ae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,13 +10,17 @@ stages:
 build:
   image: openjdk:11
   stage: build
+  before_script:
+    - apt-get update && apt-get -y install graphviz
   script:
     - "./gradlew relast"
     - "./gradlew assemble"
+    - "./gradlew generateGrammarDiagrams"
   artifacts:
     paths:
       - "src/gen/java"
       - "src/gen/jastadd"
+      - "src/gen/resources"
 
 test:
   image: openjdk:11
@@ -58,9 +62,6 @@ ragdoc_view:
     - OUTPUT_DIR=$(pwd -P)/pages/docs/ragdoc
     - cd /ragdoc-view/src/ && rm -rf data && ln -s $DATA_DIR
     - /ragdoc-view/build-view.sh --output-path=$OUTPUT_DIR
-  only:
-    - tests/openapi-generator
-    - main
   artifacts:
     paths:
       - "pages/docs/ragdoc"
@@ -74,10 +75,8 @@ pages:
   before_script:
     - pip install -r pages/requirements.txt
   script:
+    - cp -r src/gen/resources/diagrams/ pages/docs/diagrams
     - cd pages && mkdocs build
   artifacts:
     paths:
-      - public/
-  only:
-    - tests/openapi-generator
-    - main
+      - public/
\ No newline at end of file