From e961cc4b6bfd1505aff7cc293a52e5364dbb359c Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Mon, 20 Nov 2023 12:41:59 +0100
Subject: [PATCH] fix: skip static checks for MR pipelines

GitLab way of running MR pipelines results in our jobs requiring
undefined dependencies (`phpcs` requires `prepare vendor prefixed`).
Everything works properly for regular branch and tag pipelines, but
merge requests are triggering error or invalid YAML.

Simply, disable those jobs in CI.

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 gitlab-ci-1.2.yml                  | 3 ++-
 includes/mixins/.skip-mr.yml       | 4 ++++
 includes/tests/static-analysis.yml | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 includes/mixins/.skip-mr.yml

diff --git a/gitlab-ci-1.2.yml b/gitlab-ci-1.2.yml
index 869dd1f..626a916 100644
--- a/gitlab-ci-1.2.yml
+++ b/gitlab-ci-1.2.yml
@@ -1,5 +1,5 @@
 variables:
-  WPDESK_CI_VERSION: "2023.11.17"
+  WPDESK_CI_VERSION: "2023.11.20"
   MYSQL_ROOT_PASSWORD: "mysql"
   MYSQL_DATABASE: "wptest"
   MYSQL_USER: "mysql"
@@ -43,3 +43,4 @@ include:
       - '/includes/deploy.yml'
       - '/includes/pages.yml'
       - '/includes/mixins/.after-codeception.yml'
+      - '/includes/mixins/.skip-mr.yml'
diff --git a/includes/mixins/.skip-mr.yml b/includes/mixins/.skip-mr.yml
new file mode 100644
index 0000000..292772c
--- /dev/null
+++ b/includes/mixins/.skip-mr.yml
@@ -0,0 +1,4 @@
+.skip-mr:
+  rules:
+    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+      when: never
diff --git a/includes/tests/static-analysis.yml b/includes/tests/static-analysis.yml
index 9f80e9a..34bab65 100644
--- a/includes/tests/static-analysis.yml
+++ b/includes/tests/static-analysis.yml
@@ -3,6 +3,7 @@
   needs:
     - prepare prefixed vendor
   stage: tests
+  extends: .skip-mr
 
 # Run phpstan in strict mode (failing pipeline) only if we have baseline, otherwise allow to fail with a warning, suggesting to create one. This behavior will change at the end of the year, when any PHPStan failure will be considered fatal
 phpstan:
-- 
GitLab