diff --git a/templates/changedfiles/_shared.yml b/templates/changedfiles/_shared.yml
index 162e78d772b4e41b1b95dbb54f757617bbec8757..87f6e396fb9d4ce9443eaf1b8f47c86176fd9fc0 100644
--- a/templates/changedfiles/_shared.yml
+++ b/templates/changedfiles/_shared.yml
@@ -21,7 +21,7 @@ include:
     entrypoint: [""]
   stage: pre
   script:
-    - git diff --name-only ${COMPARE_REF}...${CI_COMMIT_SHA} > changed_files.log
+    - git diff --name-only ${CHANGED_FILES_COMPARE_REF}...${CI_COMMIT_SHA} > changed_files.log
   artifacts:
     paths:
       - changed_files.log
diff --git a/templates/changedfiles/mergerequest.yml b/templates/changedfiles/mergerequest.yml
index d010d189667ee61f3f276ca400a443125b43d842..1020554705776cb1c2db25ea6b947a4e897ee6b8 100644
--- a/templates/changedfiles/mergerequest.yml
+++ b/templates/changedfiles/mergerequest.yml
@@ -3,10 +3,10 @@ include:
 
 changed_files_mr:
   extends: .changed_files
+  variables:
+    CHANGED_FILES_COMPARE_REF: origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
   rules:
     - if: $CI_AWE_SKIP_CHANGED_FILES
       when: never
     - if: $CI_AWE_RUN_CHANGED_FILES
     - !reference [.merge_request_jobs, rules]
-  before_script:
-    - COMPARE_REF="origin/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}"
diff --git a/templates/changedfiles/push.yml b/templates/changedfiles/push.yml
index 5e3654def6bd7bb8af74ee7ba8faadbcd7747e07..bea5621d80ec493e1f2a26d7dc68d60cd71981f2 100644
--- a/templates/changedfiles/push.yml
+++ b/templates/changedfiles/push.yml
@@ -3,10 +3,10 @@ include:
 
 changed_files_push:
   extends: .changed_files
+  variables:
+    CHANGED_FILES_COMPARE_REF: $CI_COMMIT_BEFORE_SHA
   rules:
     - if: $CI_AWE_SKIP_CHANGED_FILES || $CI_PIPELINE_SOURCE != 'push'
       when: never
     - if: $CI_AWE_RUN_CHANGED_FILES
     - !reference [.primary_ref_jobs, rules]
-  before_script:
-    - COMPARE_REF=${CI_COMMIT_BEFORE_SHA}
diff --git a/templates/testreport/diff.yml b/templates/testreport/diff.yml
index 25961f148661f9dd42eb3a3fa75393a95ec00695..4b72ae0a4e124020e52c5964d87c581fcc06abf7 100644
--- a/templates/testreport/diff.yml
+++ b/templates/testreport/diff.yml
@@ -1,9 +1,8 @@
-test_report_diff:
+.test_report_diff:
   image: ${CI_AWE_IMAGE_BASE}/ci-tools:${CI_AWE_IMAGE_TAG}
   variables:
     TEST_REPORT_JOB: conda_test
     TEST_REPORT_ARTIFACT_FILE: report.xml
-    TEST_REPORT_ARTIFACT_URL: "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_REF_NAME/raw/$TEST_REPORT_ARTIFACT_FILE?job=$TEST_REPORT_JOB"
   stage: test_post
   rules:
     - if: $CI_AWE_SKIP_TEST_REPORT_DIFF
@@ -12,9 +11,10 @@ test_report_diff:
     - !reference [.primary_ref_jobs, rules]
   script:
     # Download the report of the previous pipeline.
-    - 'curl --output "$TEST_REPORT_FILE.old" --location --header "JOB-TOKEN: $CI_JOB_TOKEN" "$TEST_REPORT_ARTIFACT_URL"'
+    - TEST_REPORT_ARTIFACT_URL="$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$TEST_REPORT_DIFF_REF/raw/$TEST_REPORT_ARTIFACT_FILE?job=$TEST_REPORT_JOB"
+    - 'curl --output "$TEST_REPORT_ARTIFACT_FILE.old" --location --header "JOB-TOKEN: $CI_JOB_TOKEN" "$TEST_REPORT_ARTIFACT_URL"'
     # Compare it to the report of this pipeline.
-    - report_diff "$TEST_REPORT_FILE.old" "$TEST_REPORT_ARTIFACT_FILE" report_diff.xml
+    - report_diff "$TEST_REPORT_ARTIFACT_FILE.old" "$TEST_REPORT_ARTIFACT_FILE" report_diff.xml
     - junitparser verify report_diff.xml
   artifacts:
     expire_in: 1 day
@@ -23,3 +23,23 @@ test_report_diff:
       - report_diff.xml
     reports:
       junit: report_diff.xml
+
+test_report_diff_mr:
+  extends: .test_report_diff
+  variables:
+      TEST_REPORT_DIFF_REF: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
+  rules:
+    - if: $CI_AWE_SKIP_TEST_REPORT_DIFF
+      when: never
+    - if: $CI_AWE_RUN_TEST_REPORT_DIFF
+    - !reference [.merge_request_jobs, rules]
+
+test_report_diff_branch:
+  extends: .test_report_diff
+  variables:
+    TEST_REPORT_DIFF_REF: $CI_COMMIT_REF_NAME
+  rules:
+    - if: $CI_AWE_SKIP_TEST_REPORT_DIFF
+      when: never
+    - if: $CI_AWE_RUN_TEST_REPORT_DIFF
+    - !reference [.primary_ref_jobs, rules]