From 45be65437b602b062a3ead9e25f778587b3f92fd Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Wed, 22 Jun 2022 13:07:17 +0000
Subject: [PATCH] Use Unit-Testreports, closes #1202

Closes #1202

Merge request studip/studip!713
---
 .gitignore     |  1 +
 .gitlab-ci.yml | 73 ++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 54 insertions(+), 20 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3791bd154a2..a5861d045f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
 composer
 node_modules
 nbproject
+.phplint-cache
 
 config/config_local.inc.php
 config/config.inc.php
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f5fdc9191ac..da402588680 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,42 +24,75 @@ Linting:
   before_script:
     - make composer-dev
   script:
-    - php -d memory_limit=-1 composer/bin/phplint
+    - php -d memory_limit=-1 composer/bin/phplint --xml report.xml
+  artifacts:
+    when: always
+    expire_in: 1 week
+    paths:
+      - tests/_output
+    reports:
+      junit: tests/_output/report.xml
 
 Unit Test:
   stage: Tests
   allow_failure: false
   before_script:
-    - cp ./docker/studip/config_local.php ./config/config_local.inc.php
-    - cp ./config/config.inc.php.dist ./config/config.inc.php
+    - cp docker/studip/config_local.php config/config_local.inc.php
+    - cp config/config.inc.php.dist config/config.inc.php
+    - make composer-dev
   script:
-    - make test
+    - composer/bin/codecept run unit --xml
+    # Remove absolute path in report
+    - sed -i "s%$PWD/%%" tests/_output/report.xml
+  artifacts:
+    when: always
+    expire_in: 1 week
+    paths:
+      - tests/_output
+    reports:
+      junit: tests/_output/report.xml
 
 Functional Test:
   stage: Tests
   allow_failure: false
   before_script:
-    - chmod +x ./.gitlab/scripts/install_db.sh
-    - ./.gitlab/scripts/install_db.sh
-    - cp ./docker/studip/config_local.php ./config/config_local.inc.php
-    - cp ./config/config.inc.php.dist ./config/config.inc.php
-    - make composer
-    - ./cli/studip migrate
+    - chmod +x .gitlab/scripts/install_db.sh
+    - .gitlab/scripts/install_db.sh
+    - cp docker/studip/config_local.php config/config_local.inc.php
+    - cp config/config.inc.php.dist config/config.inc.php
+    - make composer-dev
+    - cli/studip migrate
   script:
-    - make test-functional
+    - composer/bin/codecept run functional --xml
+    - sed -i "s%$PWD/%%" tests/_output/report.xml
+  artifacts:
+    when: always
+    expire_in: 1 week
+    paths:
+      - tests/_output
+    reports:
+      junit: tests/_output/report.xml
 
 JSONAPI Test:
   stage: Tests
   allow_failure: false
   before_script:
-    - chmod +x ./.gitlab/scripts/install_db.sh
-    - ./.gitlab/scripts/install_db.sh
-    - cp ./docker/studip/config_local.php ./config/config_local.inc.php
-    - cp ./config/config.inc.php.dist ./config/config.inc.php
-    - make composer
-    - ./cli/studip migrate
+    - chmod +x .gitlab/scripts/install_db.sh
+    - .gitlab/scripts/install_db.sh
+    - cp docker/studip/config_local.php config/config_local.inc.php
+    - cp config/config.inc.php.dist config/config.inc.php
+    - make composer-dev
+    - cli/studip migrate
   script:
-    - make test-jsonapi
+    - composer/bin/codecept run jsonapi --xml
+    - sed -i "s%$PWD/%%" tests/_output/report.xml
+  artifacts:
+    when: always
+    expire_in: 1 week
+    paths:
+      - tests/_output
+    reports:
+      junit: tests/_output/report.xml
 
 Packaging:
   stage: Packaging
@@ -78,8 +111,8 @@ Packaging:
     untracked: true
     name: 'Stud.IP-Release-$CI_COMMIT_TAG'
     paths:
-      - ./.pkg/studip-release.zip
-      - ./.pkg/studip-release.tar.gz
+      - .pkg/studip-release.zip
+      - .pkg/studip-release.tar.gz
     reports:
       dotenv: .packaging.env
 
-- 
GitLab