[TikiWiki-commits] [Git][tikiwiki/tiki][master] 3 commits: [ENH] Add phpunit coverage information for gitlab
Benoit Grégoire (@benoitg) via TikiWiki-cvs <[email protected]> Sat, 25 Jul 2026 03:32:48 +0000
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6a642e60957ef_381b0f96f852357@gitlab-sidekiq-low-urgency-cpu-bound-v2-7d8cd68bcd-lrhfc.mail> |
Benoit Grégoire pushed to branch master at Tiki Wiki CMS Groupware / Tiki
Commits:
c168e094 by Benoit Grégoire at 2026-07-25T03:20:53+00:00
[ENH] Add phpunit coverage information for gitlab
- - - - -
226a9e5f by Benoit Grégoire at 2026-07-25T03:20:53+00:00
Gitlab doesn't process coverage properly if run under parallel matrix execution and some have no coverage artifacts. So split the list in two.
- - - - -
015517cb by Benoit Grégoire at 2026-07-25T03:20:53+00:00
[ENH] vitest: Gerenrate cobertura and juint test report for gitlab. Switch to the v8 coverage provider as istambut has a buggy cobertura implementation
- - - - -
6 changed files:
- .gitignore
- .gitlab-ci.yml
- package-lock.json
- package.json
- phpunit.xml.dist
- src/js/vite.config.mjs
Changes:
=====================================
.gitignore
=====================================
@@ -29,8 +29,6 @@ auto-imports.d.ts
#dbdiff
tikiold.sql
tikinew.sql
-#phpunit report
-report.xml
/.composercache
/before
/after
=====================================
.gitlab-ci.yml
=====================================
@@ -574,6 +574,14 @@ console-php-works:
image: ${DEPENDENCY_PROXY_PREFIX}tikiwiki/tikiwiki-ci:${PHP_VERSION}-qa
services:
- name: ${DEPENDENCY_PROXY_PREFIX}${DB_IMAGE}
+ # TODO: All these aliases (mysql, elasticsearch, manticore)
+ # need to be scoped with the version of the image or some other unique hash.
+ # Otherwise there are conflicts if a big docker machine runs them concurrently.
+ # If you get messages like:
+ # WARNING: Skipping alias "mysql" for service "mysql:5.7.44" (services[0]): alias is already in use by another service.
+ # WARNING: Possibly zombie container runner-k5qwkzlfy-project-44278468-concurrent-15-573f5bc5b25f298f-mysql-0-wait-for-service is disconnected from network bridge
+ # This is the problem. The test may fail or succeed, but the result cannot be trusted.
+ # benoitg - 2026-07-24
alias: mysql
command: ["--explicit-defaults-for-timestamp=off"]
- name: ${DEPENDENCY_PROXY_PREFIX}elasticsearch:5
@@ -589,22 +597,33 @@ console-php-works:
- 'echo -n "ElasticSearch Version: " && curl -sS -XGET ''http://elasticsearch:9200'' | grep ''"number"'' | sed ''s/.*:.*"\(.*\)".*/\1/'''
- 'echo -n "Manticore Version: " && mysql -h manticore -P 9306 -e "status" | grep "Server version:" | sed "s/^[^:]*:[[:space:]]*//"'
- echo '<?php $host_tiki = "mysql"; $user_tiki = "tikiuser"; $pass_tiki = "tikipass"; $dbs_tiki = "tikitest"; $client_charset = "utf8mb4"; ' > lib/test/local.php
- - php -d display_errors=On vendor_bundled/vendor/phpunit/phpunit/phpunit --colors=always --log-junit report.xml --exclude-group api-integration-test --display-deprecations --display-notices --display-warnings
+ - php -d display_errors=On vendor_bundled/vendor/phpunit/phpunit/phpunit $PHPUNIT_EXTRA_PARAMS --log-junit temp/ci/phpunit-report.xml --exclude-group api-integration-test --display-deprecations --display-notices --display-warnings
+
+unit-tests-php-latest-coverage:
+ #We only generate one coverage report, for the lastest PHP. Gitlab won't properly process if more than one parallel run has coverage artifacts.
+ extends: .template-unit-tests
+ allow_failure: false
+ variables:
+ XDEBUG_MODE: coverage
+ PHPUNIT_EXTRA_PARAMS: --coverage-cobertura temp/ci/phpunit-coverage.xml --coverage-text --colors=never
artifacts:
when: always
- paths:
- - report.xml
reports:
- junit: report.xml
- expire_in: 2 days
+ junit: temp/ci/phpunit-report.xml
+ coverage_report:
+ coverage_format: cobertura
+ path: temp/ci/phpunit-coverage.xml
+ coverage: '/^\s*Lines:\s*\d+.\d+\%/'
+ parallel:
+ matrix:
+ - PHP_VERSION: "8.5"
+ DB_IMAGE: ${MARIADB_IMAGE_NEWEST_SUPPORTED}
-unit-tests:
+unit-tests-php-previousVersions:
extends: .template-unit-tests
allow_failure: false
parallel:
matrix:
- - PHP_VERSION: "8.5"
- DB_IMAGE: ${MARIADB_IMAGE_NEWEST_SUPPORTED}
- PHP_VERSION: "8.4"
DB_IMAGE: ${MYSQL_IMAGE_NEWEST_SUPPORTED}
- PHP_VERSION: "8.3"
@@ -648,6 +667,13 @@ unit-tests-node:
script:
- npm run testci
coverage: '/All files(?:[^|]*\|){4}\s*(\S+)/'
+ artifacts:
+ when: always
+ reports:
+ junit: temp/ci/js-junit-report.xml
+ coverage_report:
+ coverage_format: cobertura
+ path: temp/ci/js_coverage/cobertura-coverage.xml
# This test is only required because we don't have a combined node and php image currently. - benoitg - 2025-03-08
unit-tests-icon-generator:
=====================================
package-lock.json
=====================================
@@ -40,7 +40,7 @@
"@stylistic/eslint-plugin": "^5.6.1",
"@testing-library/vue": "^8.1.0",
"@vitejs/plugin-vue": "^6.0.3",
- "@vitest/coverage-istanbul": "^4.0.16",
+ "@vitest/coverage-v8": "^4.0.16",
"check-engine": "^1.14.0",
"concurrently": "^9.2.1",
"copy-and-watch": "^0.1.8",
@@ -613,6 +613,16 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@braintree/sanitize-url": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz",
@@ -2240,16 +2250,6 @@
"node": ">=12"
}
},
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz",
- "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@@ -2499,7 +2499,6 @@
"hasInstallScript": true,
"license": "MIT",
"optional": true,
- "peer": true,
"dependencies": {
"detect-libc": "^2.0.3",
"is-glob": "^4.0.3",
@@ -2542,7 +2541,6 @@
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2564,7 +2562,6 @@
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2586,7 +2583,6 @@
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2608,7 +2604,6 @@
"os": [
"freebsd"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2630,7 +2625,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2652,7 +2646,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2674,7 +2667,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2696,7 +2688,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2718,7 +2709,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2740,7 +2730,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2762,7 +2751,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2784,7 +2772,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -2806,7 +2793,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -4307,42 +4293,48 @@
"vue": "^3.2.25"
}
},
- "node_modules/@vitest/coverage-istanbul": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-4.1.5.tgz",
- "integrity": "sha512-X4kQMDEWh9mA0IiLuigtdYv4kXe+W8KLTbucoz15lbyZRPAxT5l+hu0JizI7Am050+G9vQnB7QJNgYi2LnwV4w==",
+ "node_modules/@vitest/coverage-v8": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.10.tgz",
+ "integrity": "sha512-IM49HmthevbgAO4anp1hwtoT9wYe59w0LR00gr+eagHE+ZJ5lK4sLPeO0ubgoJcwLk6dehU3R24N+FbEEKDc8g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/core": "^7.29.0",
- "@istanbuljs/schema": "^0.1.3",
- "@jridgewell/gen-mapping": "^0.3.13",
- "@jridgewell/trace-mapping": "0.3.31",
+ "@bcoe/v8-coverage": "^1.0.2",
+ "@vitest/utils": "4.1.10",
+ "ast-v8-to-istanbul": "^1.0.0",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.2.0",
"magicast": "^0.5.2",
"obug": "^2.1.1",
+ "std-env": "^4.0.0-rc.1",
"tinyrainbow": "^3.1.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "vitest": "4.1.5"
+ "@vitest/browser": "4.1.10",
+ "vitest": "4.1.10"
+ },
+ "peerDependenciesMeta": {
+ "@vitest/browser": {
+ "optional": true
+ }
}
},
"node_modules/@vitest/expect": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz",
- "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz",
+ "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@standard-schema/spec": "^1.1.0",
"@types/chai": "^5.2.2",
- "@vitest/spy": "4.1.5",
- "@vitest/utils": "4.1.5",
+ "@vitest/spy": "4.1.10",
+ "@vitest/utils": "4.1.10",
"chai": "^6.2.2",
"tinyrainbow": "^3.1.0"
},
@@ -4351,13 +4343,13 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz",
- "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz",
+ "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "4.1.5",
+ "@vitest/spy": "4.1.10",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.21"
},
@@ -4388,9 +4380,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz",
- "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz",
+ "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4401,13 +4393,13 @@
}
},
"node_modules/@vitest/runner": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz",
- "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz",
+ "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "4.1.5",
+ "@vitest/utils": "4.1.10",
"pathe": "^2.0.3"
},
"funding": {
@@ -4415,14 +4407,14 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz",
- "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz",
+ "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "4.1.5",
- "@vitest/utils": "4.1.5",
+ "@vitest/pretty-format": "4.1.10",
+ "@vitest/utils": "4.1.10",
"magic-string": "^0.30.21",
"pathe": "^2.0.3"
},
@@ -4431,9 +4423,9 @@
}
},
"node_modules/@vitest/spy": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz",
- "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz",
+ "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -4441,13 +4433,13 @@
}
},
"node_modules/@vitest/utils": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz",
- "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz",
+ "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "4.1.5",
+ "@vitest/pretty-format": "4.1.10",
"convert-source-map": "^2.0.0",
"tinyrainbow": "^3.1.0"
},
@@ -5560,6 +5552,35 @@
"node": ">=12"
}
},
+ "node_modules/ast-v8-to-istanbul": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.5.tgz",
+ "integrity": "sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "estree-walker": "^3.0.3",
+ "js-tokens": "^10.0.0"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz",
+ "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/async-es": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async-es/-/async-es-3.2.6.tgz",
@@ -7920,7 +7941,6 @@
"dev": true,
"license": "Apache-2.0",
"optional": true,
- "peer": true,
"engines": {
"node": ">=8"
}
@@ -12105,8 +12125,7 @@
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true
+ "optional": true
},
"node_modules/node-releases": {
"version": "2.0.38",
@@ -15812,19 +15831,19 @@
}
},
"node_modules/vitest": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz",
- "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz",
+ "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "4.1.5",
- "@vitest/mocker": "4.1.5",
- "@vitest/pretty-format": "4.1.5",
- "@vitest/runner": "4.1.5",
- "@vitest/snapshot": "4.1.5",
- "@vitest/spy": "4.1.5",
- "@vitest/utils": "4.1.5",
+ "@vitest/expect": "4.1.10",
+ "@vitest/mocker": "4.1.10",
+ "@vitest/pretty-format": "4.1.10",
+ "@vitest/runner": "4.1.10",
+ "@vitest/snapshot": "4.1.10",
+ "@vitest/spy": "4.1.10",
+ "@vitest/utils": "4.1.10",
"es-module-lexer": "^2.0.0",
"expect-type": "^1.3.0",
"magic-string": "^0.30.21",
@@ -15852,12 +15871,12 @@
"@edge-runtime/vm": "*",
"@opentelemetry/api": "^1.9.0",
"@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
- "@vitest/browser-playwright": "4.1.5",
- "@vitest/browser-preview": "4.1.5",
- "@vitest/browser-webdriverio": "4.1.5",
- "@vitest/coverage-istanbul": "4.1.5",
- "@vitest/coverage-v8": "4.1.5",
- "@vitest/ui": "4.1.5",
+ "@vitest/browser-playwright": "4.1.10",
+ "@vitest/browser-preview": "4.1.10",
+ "@vitest/browser-webdriverio": "4.1.10",
+ "@vitest/coverage-istanbul": "4.1.10",
+ "@vitest/coverage-v8": "4.1.10",
+ "@vitest/ui": "4.1.10",
"happy-dom": "*",
"jsdom": "*",
"vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
=====================================
package.json
=====================================
@@ -81,7 +81,7 @@
"@stylistic/eslint-plugin" : "^5.6.1",
"@testing-library/vue" : "^8.1.0",
"@vitejs/plugin-vue" : "^6.0.3",
- "@vitest/coverage-istanbul" : "^4.0.16",
+ "@vitest/coverage-v8" : "^4.0.16",
"check-engine" : "^1.14.0",
"concurrently" : "^9.2.1",
"copy-and-watch" : "^0.1.8",
=====================================
phpunit.xml.dist
=====================================
@@ -62,14 +62,14 @@
<ini name="date.timezone" value="UTC"/>
</php>
<logging>
- <junit outputFile="temp/phpunit.junit.xml"/>
+ <junit outputFile="temp/ci/phpunit-report.xml"/>
<!--
Coverage analysis more than double the time to run tests.
Instead of enabling this, on the build server, use:
1. Setup phpStorm integration http://dev.tiki.org/PhpStorm?latest=1#Set_up_PHPUnit_in_Run_Debug_Config
- 2. Run from the command line with with the option: coverage-clover temp/clover.xml
+ 2. Run from the command line with with the option: coverage-clover temp/ci/clover.xml
Note that you will need php-xdebug installed to run it.
- <log type="coverage-clover" target="temp/clover.xml" />
+ <log type="coverage-clover" target="temp/ci/clover.xml" />
<log type="coverage-text" target="php://stdout" showUncoveredFiles="false" showOnlySummary="true" />
-->
</logging>
=====================================
src/js/vite.config.mjs
=====================================
@@ -743,7 +743,12 @@ export default defineConfig(({ command, mode }) => {
include: ["src/js/**/tests/**/*.test.js"],
globals: true,
environment: "happy-dom",
+ reporters: [["default"], ["junit"]],
+ outputFile: {
+ junit: "./temp/ci/js-junit-report.xml",
+ },
coverage: {
+ enabled: true,
include: [
"src/js/vue-widgets/**/*.{vue,js}",
"src/js/wysiwyg/**/*.js",
@@ -751,7 +756,13 @@ export default defineConfig(({ command, mode }) => {
"src/js/@tiki/ui-utils/handle*.js",
],
exclude: ["**/*.ce.js", "**/*.test.js", "**/elements/**"],
- provider: "istanbul",
+ provider: "v8",
+ reporter: [ ["text"],
+ ["cobertura"]
+ ],
+
+ //It's a bit dumb, one cannot specify the specific file with the cobertura reporter. It will write to cobertura-coverage.xml
+ reportsDirectory: "./temp/ci/js_coverage",
},
server: {
deps: {
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/d0be4a02b5450238b49ec9ff5cfb79aaff462468...015517cbf8dd8f80f852f084f636ea321964b8c3
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/compare/d0be4a02b5450238b49ec9ff5cfb79aaff462468...015517cbf8dd8f80f852f084f636ea321964b8c3
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs