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