Skip to content

Instantly share code, notes, and snippets.

@alexmcpherson
Created October 28, 2014 20:17
Show Gist options
  • Save alexmcpherson/e898299ed55053172247 to your computer and use it in GitHub Desktop.
Save alexmcpherson/e898299ed55053172247 to your computer and use it in GitHub Desktop.
PR template explanation

What's this PR do?

This is to get the reviewer in the mood, to understand what part of the app is being touched here

EX: "This PR allows users to upload profile images. It includes S3 code, a worker job for generating thumbnails off-of-web-thread, and tests"

Where should the reviewer start?

This is the most likely file diff to start with, and points you down a road for further investigation of the code living behind the feature.

EX: The form is in views/users/profile_picture_form.erb, and then look into the controller from there.

How should this be manually tested?

This is a pretty common step to skip: "Oh, the code looks good, and tests pass, I bet it works". Actually try it out! This step makes it easy to git checkout branchname and have a look yourself.

EX: Visit localhost:3000/users/profile/edit to test out the UI. Make sure Sidekiq/foreman is running. Also try uploading a corrupted image to see the errors.

Any background context you want to provide?

This can explain architectural decisions or other points of interest in the potential addition to the codebase.

EX: This is the feature we punted because we didn't have Sidekiq enabled. This sets up Sidekiq, Redis, etc. Unblocks lots of queue-type feature work, hence the generalization of some worker classes

What are the relevant tickets?

Make it easy on your reviewer to look up the story that drove this work. All your stories are well-groomed and up to date in your issue tracking system, right?

_EX: #4236

Screenshots (if appropriate)

We really like to use Record.it for both feature demos and bug reports. Easy gif generation goes a long way

Questions:

  • Do migrations need to be run?

  • Are there any additional deployment instructions/requirements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment