diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17b127c62b4e4bec6c137636507572ac7b17065f..1b88168f2b20440bb3863254012e6cf18cc851aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -50,6 +50,11 @@ build-docs:
   script:
     - !reference [.workspace, script]
     - !reference [.build-docs, script]
+  rules:
+    # Build the docs when a merge request is created.
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    # Or when things land.
+    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 deploy:
   extends: .workspace