Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Acceptance testing/Contributing to Moodle behat extension

From MoodleDocs
Revision as of 01:50, 29 July 2022 by Andrew Nicols (talk | contribs) (Note about plan not to migrate this page to the new developer resources. See template for more info. The extension has been absorbed into core.)


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


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.