Skip to content

Instantly share code, notes, and snippets.

@StevenACoffman
Created October 3, 2021 15:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save StevenACoffman/66573a444d3b1f36b2347259752968b9 to your computer and use it in GitHub Desktop.
Save StevenACoffman/66573a444d3b1f36b2347259752968b9 to your computer and use it in GitHub Desktop.
pull-requests-types.md

After reading Rouan Wilsenach’s article on Ship / Show / Ask, I realized that when creating a pull request, I’m thinking about:

  • How can I confidently get my code out of the door?
  • Will my changes pass the automated CI checks?
  • Will my changes pass a self-review? I.e. would I approve my own PR?
  • Will my colleagues be able to give me good feedback?

So this gives us 7 types of pull-request:

No Pull Request / Ship

I’m so confident in my changes (e.g. documentation changes), I don’t need to see if they’ll pass CI. Ship it now!

Never Merge

This is probably a proof-of-concept, and I want to see what the CI thinks of my approach. It may never leave draft.

CI Review

I’m confident of my changes, but I want the CI to check them. If they pass CI, they can be merged (e.g. using Github’s “Enable auto-merge”).

Self-Review

This is a CI review, but I want to review my own work as if I was one of the official reviewers.

Look At This!

I want my colleagues to be able to take a look, as there is something new and interesting in this pull requests they’ll want to know about.

Optimistic Merge

I want my colleagues to be able to take a look. I’m going to merge this as soon as it passes CI, but they’ve been notified and can review it if they want to.

Pessimistic

I want my colleagues to take a good look. I’m not confident in my changes, and I know that at least one of my colleagues will be able to give good feedback on it.

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