Skip to content

ci: switch from xdebug to pcov for code coverage #3

@marcstraube

Description

@marcstraube

Problem

GitLab CI uses xdebug for code coverage. xdebug is a full debugger with significant overhead for coverage-only use cases.

Solution

Switch to pcov — a dedicated, lightweight coverage driver:

.php-setup: &php-setup
  before_script:
    - apt-get update -yqq
    - apt-get install -yqq git unzip libzip-dev
    - docker-php-ext-install zip
    - pecl install pcov && docker-php-ext-enable pcov
    - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    - composer install --prefer-dist --no-progress --no-interaction

Also remove XDEBUG_MODE: coverage from variables.

Benefits:

  • Significantly faster coverage collection
  • Lower memory usage
  • No debugger overhead

Reference

  • zappzarapp/audit-logger .gitlab-ci.yml

Metadata

Metadata

Assignees

Labels

ciCI/CD improvementseffort:xsExtra small (<15 min)enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions