Skip to main content

Drupal.org CI

Once your extension is mirrored to Drupal.org, its GitLab CI ("DrupalCI") runs on its own. Eddy's configuration works with it as it is, including the PHPStan error suppressions, which resolve even though DrupalCI runs the analysis from within the module directory.

PHPUnit needs 1 override there: turn off code coverage. DrupalCI symlinks your project back into the built site's web/modules/custom/<name>/ directory, so PHPUnit's coverage scan follows that loop into web/core/node_modules and runs out of file descriptors. GitHub Actions collects coverage already, so DrupalCI can safely skip it.

Add the standard DrupalCI includes to a .gitlab-ci.yml in your project root, with this override:

.gitlab-ci.yml
variables:
_PHPUNIT_EXTRA: '--no-coverage'

DrupalCI reads the patches declared in your extension's composer.json, with composer-patches 1.x, but not the ones in composer.dev.json. See Patching dependencies for where each kind belongs.