Plan for adding contrib testing support into DrupalCI (and integration with Drupal.org):
1) Instead of using DCI_Dependencies, use a new model of 'DCI_CoreRepository' and 'DCI_AdditionalRepositories'.
The format of the DCI_AdditionalRepositories string is a comma-separated list of values for each checkout, with individual checkout lists separated by semicolons. The list positions correspond to the following data:
<protocol>,<Repository location>,<branch information>,<checkout destination>, [<clone depth>] where:
protocol is the checkout protocol to use. The only valid value is 'git'.
Repository location is the location of the repository
example: git://git.drupal.org/projects/token.git
Branch information is the branch/tag which to be selected
example: 8.x-1.x
checkout destination is the directory location within the core checkout to place the code
example: sites/all/modules
checkout depth (optional) corresponds to the --depth parameter on a git checkout, for shallow checkouts.
Example String:
git,http://git.drupal.org/project/token.git,8.x-1.x,sites/all/modules/token;git,http://git.drupal.org/project/pathauto.git,8.x-1.x,sites/all/modules/pathauto,1;
Desired Result:
array(
'checkout' => array(
[... existing entries ...],
array(
'protocol' => 'git',
'repo' => 'git://git.drupal.org/project/token.git',
'branch' => '8.x-1.x',
'checkout_dir' => 'sites/all/modules/token',
),
array(
'protocol' => 'git',
'repo' => 'git://git.drupal.org/project/pathauto.git',
'branch' => '8.x-1.x',
'checkout_dir' => 'sites/all/modules/token',
'depth' => 1,
)
)
)
2) Explicitly flag which item to test inside of DCI_TestItem. This is in the format type:item, where type can be class/file/module, and item is the argument to pass along to the associated --class, --module, or --file argument on run-tests.sh.
Comments
Comment #1
jthorson commentedCommitted to 'dev' branch.