-
Notifications
You must be signed in to change notification settings - Fork 10
Proposal: Efficient Code Review Tracking #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
GomathiselviS
wants to merge
5
commits into
main
Choose a base branch
from
review_tracking
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
1cc5dac
proposal for tracking code reviews efficiently
GomathiselviS bef6fde
Add more options
GomathiselviS 5fb23dc
Add proposal for scheduled reminders
GomathiselviS cd2ab0b
Remove duplicate file
GomathiselviS f577833
Add team
GomathiselviS File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Tracking Code Reviews | ||
|
||
## Introduction | ||
|
||
Code reviews are an integral part of our development process, ensuring code quality, collaboration, and knowledge sharing. To enhance this crucial process, various options for tracking code reviews are proposed. In this document, two primary options will be explored: creating a separate code review channel and integrating GitHub with Slack notifications. | ||
|
||
### Option 1: Separate Code Review Channel | ||
Establish a dedicated Slack channel to streamline code review communication and progress tracking. | ||
|
||
**_Benefits:_** | ||
1. **Focused Communication:** Keep code review discussions organized and separate from other team conversations. | ||
2. **Clear Visibility:** Easily monitor the status of ongoing reviews and track the progress of each review thread. | ||
3. **Enhanced Collaboration:** Encourage team members to engage in discussions within the dedicated channel, fostering collaboration. | ||
|
||
**_Implementation Steps:_** | ||
1. **Create a New Channel:** Establish a new Slack channel dedicated to code reviews (e.g., "#cloud-content-code-reviews"). | ||
2. **Invite Relevant Members:** Invite clound content team members involved in the code review process to join the channel. | ||
|
||
_**Using Emojis to Indicate Review Stages:**_ | ||
**1. Start of Review:** | ||
When initiating a review, use a specific emoji 👀 in a threaded reply to the PR announcement in the channel. This signals that a team member has started reviewing the code. | ||
_Example:_ | ||
Requesting Reviews: New feature implementation! - <link> 🚀 | ||
Threaded Reply: 👀 Starting the review now! | ||
|
||
**2. End of Review:** | ||
Upon completing the review, reply with emoji ✅ to indicate that the review is finished. Include any comments or feedback directly in the thread for clarity. | ||
_Example:_ | ||
Threaded Reply: ✅ Review completed. All looks good! | ||
|
||
**3. Request Changes:** | ||
The 🛑 emoji communicates the need for changes in the code. Team members can use this emoji alongside specific feedback or comments to highlight areas requiring attention or modification. | ||
_Example:_ | ||
Threaded Reply: �� Please address the formatting issue | ||
|
||
**_Drawbacks:_** | ||
Using a separate Slack channel for PR reviews comes with certain disadvantages, like the risk of channel overload, communication fragmentation, limited visibility for non-involved team members, potential notification fatigue, difficulty in context switching, challenges for new team members, and maintenance overhead. | ||
|
||
### Option 2: GitHub Integration with Slack Notifications | ||
Leverage GitHub and Slack integration to receive real-time notifications for code review events. | ||
|
||
**_Benefits:_** | ||
|
||
1. **Automated Notifications:** Receive instant notifications in Slack for code review events, such as pull request creation, comments, and approvals. | ||
2. **Seamless Integration:** Align code review updates directly with the version control system, ensuring real-time visibility. | ||
3. **Customizable Notifications:** Tailor the integration to receive notifications for specific code review events based on team preferences, ensuring that relevant information is highlighted. | ||
|
||
**_Implementation Steps:_** | ||
1. **GitHub Slack Integration:** Configure GitHub to send notifications to the desired Slack channel. | ||
2. **Selective Notifications:** Customize the integration to receive notifications for specific code review events (e.g., new pull requests, comments, approvals). | ||
3. **Review and Collaboration:** Engage in code review discussions directly within the GitHub interface and Slack, creating a seamless workflow. | ||
|
||
**_Drawbacks:_** | ||
Potential drawbacks of this option include notification overload, contextual disruption, security concerns, integration maintenance, learning curve, and dependency on external services. | ||
|
||
_**The following are possibilities that require additional investigation.**_ | ||
|
||
### Option 3: Automated Reminders | ||
1. Implement automated reminders for pending code reviews. | ||
2. Utilize GitHub Actions or third-party tools to send reminders for unaddressed comments or pending approvals. | ||
|
||
### Option 4: Pull Request Labels: | ||
1. Define a set of labels for pull requests to categorize them (e.g., "Ready for Review," "In Progress," "Blocked"). | ||
2. Periodically inspect the cloud content repositories for pull requests labeled with code review-related tags using a script. | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Scheduled Reminders | ||
|
||
Scheduled reminders will aid the team in prioritizing review requests that demand attention. For pull requests, these reminders will dispatch a Slack message to the team channel, containing all open pull requests that the team need to review, at a designated time. | ||
|
||
For this process to function, the individual submitting the PR must either add additional team members individually or include the 'ansible-collections/cloud' team as reviewers. | ||
|
||
## Settings: | ||
|
||
**Slack Channel**: ansible-cloud-team | ||
|
||
**Reminder Scheduled Days**: Monday, Wednesday, Friday | ||
|
||
**Time**: 9:00 AM EST | ||
|
||
**Repositories**: `amazon.aws`, `amazon.cloud`, `cloud-content-handbook`, `cloud.common`, `community.aws` | ||
|
||
**Ignore Drafts**: yes | ||
|
||
**Require Review Requests**: yes | ||
|
||
**Remind Authors after Review**: yes, after one review | ||
|
||
**Ignore Approved Pull Requests**: yes, after two approvals | ||
|
||
**Miniumum Age**: 0 hours. All new PRs will be included in the reminder. | ||
|
||
**Minimum Staleness**: 0 hours. All old PRs, that are not waiting on reviews will be included in the reminder. | ||
|
||
**Ignored Terms**: `WIP`, `DNM` | ||
|
||
**Ignored Labels**: None | ||
|
||
**Required Labels**: None |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should include community supported repos. This is also missing all the validated content repos, the provider repos and several supported collections.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those repositories are managed by a different org, so I'll need permission to add the reminders. Once this proposal is approved, I'll proceed with adding them.