Blended PR Workflow
Goal
As described in point 2F of Blended Development Runbook and Best Practices, both edX and Blended team need a unified indicator (“PR-ready bat-signal”) to be aware that a PR is waiting for their response.
Requirements
Blended team needs permissions to change a status of a ticket in the Blended Jira project.
Workflow
Note: before point 4., edX team should ignore all ticket-related communication to avoid unnecessary context switching.
Blended team creates a PR with a name matching the following template:
[BD-XX][TNL-XXXX] PR name
. This way a Jira ticket is automatically created in the Blended project.
Example BD PR and its related BLENDED ticket.Once the PR is ready for the Blended team’s review, the author of the PR marks a related
BLENDED
ticket as ready for community review (Workflow → Open edX Community Review
). This adds an open edx community review label to the GitHub PR.Usually (see Exceptions below), Blended team first reviews the PR internally. If there are requested changes, then after leaving all comments on the PR, they mark a related
BLENDED
ticket asWaiting on Author
, which adds the waiting on author label to the GitHub PR.The PR's author:
Addresses the comments.
Makes necessary changes to the PR.
Marks a related
BLENDED
ticket as ready for community review.
Go back to point 3.
Once all significant internal requested changes are addressed, a reviewer from the Blended team:
Leaves an approval on the PR.
Example approval.Marks a related
BLENDED
ticket as ready for edX review (Workflow → Review In Progress
). This adds an engineering review label to the GitHub PR.
edX team (or blended team core contributor, if one exists) reviews the PR. If there are requested changes, then after leaving all comments on the PR, they mark a related
BLENDED
ticket asChanges Requested
, which adds the changes requested label to the GitHub PR.The PR's author:
Addresses the comments.
Makes necessary changes to the PR.
Marks a related
BLENDED
ticket as ready for edX review.
Go back to point 5.
edX team(or blended team core contributor, if one exists) leaves an approval on the PR and merges it.
If a related ticket exists in edX Jira (example “upstream” ticket), then edX team marks it as Done.
Exceptions
More context needed from edX team
Some PR-related discussions might require input from edX team. In such case, the Blended team does the following:
“Mention” the edX team in a comment.
Add a separate comment (“mentioning” the edX team again) on the PR that only a partial review should be performed in this pass.
Mark a
BLENDED
ticket as ready for edX review.
edX team:
Reviews the mentioned parts and ignores the rest of the PR.
Marks the
BLENED
ticket as waiting on author.
edX team requests a significant change
If a change requested by edX team is significant, edX team can request Blended team to perform an additional internal review of the PR. To do this, edX team:
Adds a comment “mentioning” both PR author and reviewer.
Marks the
BLENDED
ticket as NEEDS triage.
The PR’s author addresses the changes and then the Workflow continues from point 2.