There are a lot of drupal modules now that have external dependencies. Payment/Currency, Commerce, Search API Solr, Swiftmailer and many more.

It is currently impossible to test them on drupal org since there is no way to install those dependencies. That forces those modules to move development to github. It's my understanding that you want to prevent that :)

The easiest way to support those currently is composer_manager. It might not be the nicest way and eventually we'll have better ways, but to fully go that route, testbot would need to fully switch to using composer and composer dependencies for downloading core and modules. I'm not sure how long that will take.

Supporting composer_manager on the other hand should be absolutely trivial. AFAIK, you're already running composer install for core, right?

All you need to do for contrib modules is detect the existence of composer_manager (which modules can add as a test dependendy and do this (kind of pseudo code):

if (modules/composer_manager/scripts/init.php exists) {
  php modules/composer_manager/scripts/init.php
  composer drupal-update
}
else {
  composer install
}

Comments

Berdir created an issue. See original summary.

Xano’s picture

It seems that Jenkins does support installing a project's Composer dependencies through the DCI_ComposerInstall parameter, but that it doesn't work.

While we're at this: can we simply get build script support instead? This isn't the first or the last issue that requires support for using third-party software during tests, and adding explicit support for all these takes time and hurts contrib's ability to be inventive.

Berdir’s picture