Pull requests merge process

A list of available Pull Request statuses

  • Submitted
  • Work in progress
  • Ready for review
  • Merged
  • Closed (Rejected)

Workflow

Submitted

All new pull requests are marked as "Submitted".

Work in Progress

The status "Work in Progress" is set if the pull request requires additional changes and doesn't meet the requirements of becoming "Ready for Review" or "Merged".

Ready for Review

The PR becomes "Ready for Review" if all the following conditions are met:

  • The author has signed the CLA
  • The code from the PR matches the code style guidelines
  • Commit log(s) contains the answer to the question "Why do the changes from this PR fix the related issue? What could be potential issues with the changes?" for bug fixes and "Why do users need this feature/change/improvement? Who are the potential users of the changes?" for feature requests or improvements. There is no way to merge non-trivial PR if no explanation is provided.
  • The tests covering the bug or checking the new feature are added. If there is no way to test the functionality, mention it in the commit log.

Merged

The PR becomes "Merged" and actually is merged to master branch if all the following conditions are met:

  • All the requirements from previous steps are met
  • None of the requirements to become "Closed (Rejected)" are met
  • A person that has the permissions to merge PRs:
    • Test the changes manually, check the completeness of the fix on similar scenarios involving the changes
    • Check whether the tests cover main user scenarios
    • Check the issue or feature request, analyze the discussion around the changes and estimate the value of the changes in terms of the Product Strategy
    • While testing the changes, weigh the value and the risks introduced by the changes. If risks outweigh, comment on the PR and describe the concerns. If risks cannot be addressed, consider closing or setting the PR aside.

Closed (Rejected)

The PR is set to "Closed (Rejected)" if all the following conditions are met:

  • The author doesn't fix the code by the requests from the community or in-house team for longer than one month
  • The PR isn't aligned with the Product Strategy
  • The author closed the PR
  • The PR didn't change its status from "Submitted" or "Work in Progress" to "Ready for review" within a month