This workflow describes working on features as a developer on Content Repository and Frontend Website projects.
- Pick a ticket in your issue tracker:
- Make sure that all requirements, solution direction and acceptance criteria are clear. If not, address issues with Technical Lead or Product Owner.
- Assign the ticket to yourself.
- Create a new feature branch named
- Work on the ticket functionality:
- Install new contributed modules or packages as required.
- For Content Repository - configure and export configuration changes; write
hook_update_N()implementations (but be mindful that Drupal 8 does not require many of these).
- For Frontend Website - identify and use existing or create new Ripple components; update styles according to style guide as required; make sure that style guide has been updated and new components were added (it is important to always have style guide up to date).
- Add tests:
- For Content Repository - identify required Behat tests (only test your custom configuration, and critical user journeys; do not test Drupal's standard behaviour); identify and implement PHPUnit tests.
- For Frontend Website - identify required tests and mocks, and implement them; add unit tests for any custom Nuxt functionality.
- Commit all changed and added files. Pay special attention to configuration
files and their counterparts (
- Create a pull request in your issue tracker - see Preparing code for code review
- If you are using a messenger to communicate with your development team - copy and paste the link to the created pull request into the messenger and ask for a review.
- Move the ticket in your issue tracker to
In code reviewstate (create this state if it does not exist to help identify tickets pending review).
- Once pull request is approved - merge it to the mainline branch and make sure that automated tests passed after the merge.