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

jthorson’s picture

Status: Active » Fixed

Committed to 'dev' branch.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.