Acceptance testing/Contributing to Moodle behat extension

From MoodleDocs


Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.


Please note that this extension has been absorbed into Moodle core and now follows the standard maintenance procedures for Moodle.

This document explains how to contribute to https://github.com/moodlehq/moodle-behat-extension project according to Moodle HQ integration workflow.

We use https://github.com/moodlehq/moodle-behat-extension as vendor/moodlehq/behat-extension official repository, we must not redo git history nor update where git tags points to, so we will only members of integration team will push to https://github.com/moodlehq/moodle-behat-extension once the code has been reviewed and sent to integration.

Full integration workflow when including changes in https://github.com/moodlehq/moodle-behat-extension

  • Developer forks git://github.com/moodlehq/moodle-behat-extension and creates a MDL-XXXXX in his/her fork to work on a patch
  • Developer pushes changes to his/her repository
  • Developer updates moodle's composer.json changing the repository URL to his/her own repository URL and moodlehq/behat-extension version pointing to MDL-XXXXX branch (read https://getcomposer.org/doc/articles/aliases.md#branch-alias for more info)
  • Developer sends the issue to peer review
    • A member of the integration team will review the changes in moodle-behat-extension
    • Here there may be multiple iterations moving from development in progress to peer reviewing
  • Once the issue is ready to be sent for integration the developer amends the commit changing composer.json to his/her own repository to make it point again to the official moodlehq repository, and changes moodlehq/behat-extension version for the next https://github.com/moodlehq/moodle-behat-extension tag
    • The tag will depend on the major Moodle branch the developer is targeting, tags follows v1.XY.N format, where XY is the major moodle version (the next one if master) and N is an incremental integer
  • A member of the integration team will create the appropriate tag in git://github.com/moodlehq/moodle-behat-extension
    • In case there is more than one issue integrated the same week only one tag will be created


Extend moodle-behat-extension to fit your needs

The moodle-behat-extension version that Moodle uses to run behat is specified in composer.json, to use your own repository and/or another tag/branch you should modify $CFG->dirroot/composer.json.