diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ae4aa42bdfcc758c249f7a5dbea1a882316b1e04..768515efe582ff22dccd5ac83828479dc2495db8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,5 +20,9 @@ flake-ci:
 
 impure-tests:
   stage: impure
+  rules:
+  - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+    when: manual
+    allow_failure: true
   script:
   - nix run .#run-impure-tests