From 8330903cb2a06726bec98d43520be2eaf4b570fe Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Thu, 21 Sep 2023 23:04:10 +0200
Subject: [PATCH] ci: simplify tests running and add coverage by default

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 .gitlab-ci.yml          | 74 +++++++----------------------------------
 phpunit-integration.xml | 28 ----------------
 phpunit-unit.xml        | 21 ------------
 phpunit.xml.dist        |  5 +++
 4 files changed, 17 insertions(+), 111 deletions(-)
 delete mode 100644 phpunit-integration.xml
 delete mode 100644 phpunit-unit.xml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6e2af39..ad3a95f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,71 +4,21 @@ variables:
   GIT_STRATEGY: fetch
 
 stages:
-  - tools
   - tests
 
-.template: &job-test-template
-  stage: tests
-  coverage: '/^\s*Lines:\s*\d+.\d+\%/'
-
-.template: &job-test-unit-template
-  <<: *job-test-template
-  script:
-    - echo ${WPDESK_CI_VERSION}
-    - ls -l
-    - php --version
-    - cat /tmp/wordpress-develop/src/wp-includes/version.php
-    - cat /tmp/woocommerce/woocommerce.php
-    - composer update --no-progress
-    - vendor/bin/phpunit --configuration phpunit-unit.xml --coverage-text --colors=never
-
-.template: &job-test-unit-template-fast
-  <<: *job-test-unit-template
-  script:
-    - echo ${WPDESK_CI_VERSION}
-    - ls -l
-    - php --version
-    - cat /tmp/wordpress-develop/src/wp-includes/version.php
-    - cat /tmp/woocommerce/woocommerce.php
-    - composer update --no-progress
-    - vendor/bin/phpunit --configuration phpunit-unit.xml --no-coverage
-
-
-before_script:
-  - cd ${CI_PROJECT_DIR}
-
-phpmetric metrics:
-  stage: tools
+unit test lastest:
   image: wpdesknet/phpunit-woocommerce:0-0
-  allow_failure: true
-  when: manual
+  stage: tests
   artifacts:
     when: always
-    expire_in: 1 month
-    name: "metrics"
-    paths:
-      - ${CI_PROJECT_DIR}/phpmetric
-  script:
-    - echo ${WPDESK_CI_VERSION}
-    - composer require phpmetrics/phpmetrics
-    - composer update --no-progress
-    - php ./vendor/bin/phpmetrics --report-html=phpmetric .
-
-churn metrics:
-  stage: tools
-  image: wpdesknet/phpunit-woocommerce:0-0
-  allow_failure: true
-  when: manual
+    reports:
+      junit: phpunit-report.xml
+      coverage_report:
+        coverage_format: cobertura
+        path: phpunit-coverage.xml
+  coverage: '/^\s*Lines:\s*\d+.\d+\%/'
+  variables:
+    XDEBUG_MODE: coverage
   script:
-    - echo ${WPDESK_CI_VERSION}
-    - composer require bmitch/churn-php
-    - composer update --no-progress
-    - vendor/bin/churn run classes inc
-
-unit test lastest:
-  <<: *job-test-unit-template-fast
-  image: wpdesknet/phpunit-woocommerce:0-0
-
-integration test lastest:
-  <<: *job-test-unit-template
-  image: wpdesknet/phpunit-woocommerce:0-0
+    - composer install --no-progress --no-ansi --no-interaction
+    - vendor/bin/phpunit --do-not-cache-result --log-junit phpunit-report.xml --coverage-cobertura phpunit-coverage.xml --coverage-text --colors=never
diff --git a/phpunit-integration.xml b/phpunit-integration.xml
deleted file mode 100644
index c4a8e85..0000000
--- a/phpunit-integration.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<phpunit bootstrap="tests/integration/bootstrap.php"
-         backupGlobals="false"
-     >
-    <testsuites>
-        <testsuite>
-            <directory prefix="Test" suffix=".php">./tests/integration</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory suffix=".php">classes</directory>
-        </whitelist>
-    </filter>
-
-    <logging>
-        <log type="junit" target="build-coverage/report.junit.xml"/>
-        <log type="coverage-html" target="build-coverage/coverage" charset="UTF-8" yui="true" highlight="true"/>
-        <log type="coverage-text" target="build-coverage/coverage.txt"/>
-        <log type="coverage-clover" target="build-coverage/clover.xml"/>
-    </logging>
-
-    <php>
-        <env name="WP_DEVELOP_DIR" value="/tmp/wordpress-develop"/>
-        <env name="WC_DEVELOP_DIR" value="/tmp/woocommerce"/>
-    </php>
-
-</phpunit>
\ No newline at end of file
diff --git a/phpunit-unit.xml b/phpunit-unit.xml
deleted file mode 100644
index e22f6be..0000000
--- a/phpunit-unit.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<phpunit bootstrap="tests/unit/bootstrap.php">
-    <testsuites>
-        <testsuite>
-            <directory prefix="Test" suffix=".php">./tests/unit/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory suffix=".php">classes</directory>
-        </whitelist>
-    </filter>
-
-    <logging>
-        <log type="junit" target="build-coverage/report.junit.xml"/>
-        <log type="coverage-html" target="build-coverage/coverage" charset="UTF-8" yui="true" highlight="true"/>
-        <log type="coverage-text" target="build-coverage/coverage.txt"/>
-        <log type="coverage-clover" target="build-coverage/clover.xml"/>
-    </logging>
-
-</phpunit>
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 1a6fcff..869edec 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -4,4 +4,9 @@
             <directory prefix="Test" suffix=".php">./tests/</directory>
         </testsuite>
     </testsuites>
+    <coverage>
+      <include>
+        <directory suffix=".php">src</directory>
+      </include>
+    </coverage>
 </phpunit>
-- 
GitLab