Skip to content
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

Expand and formalize contribution workflow a bit #65

Merged
merged 5 commits into from
Apr 4, 2019

Conversation

fitzgen
Copy link
Member

@fitzgen fitzgen commented Apr 1, 2019

This lays out / formalizes the workflow I've had in my head for designing APIs, implementing them, and contributing to Gloo. Happy to use this as a starting point and modify it however. I figured having the graph visualization would be good for getting the idea across quickly.

What do you think?

cc @Pauan @rylev @yoshuawuyts @David-OConnor @samcday

@fitzgen
Copy link
Member Author

fitzgen commented Apr 1, 2019

CONTRIBUTING.md Outdated Show resolved Hide resolved
again.

If there are no new concerns uncovered, then the implementation just needs to be
checked over by at least one team member. They provide code review and feedback
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it will be a problem, but I'd like to note that this does allow for one team member to approve the pull request while another disapproves.

And this also allows for the team member who approves the pull request to be different from the team members who OKed the design.

Copy link
Contributor

@samcday samcday Apr 2, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but I'd like to note that this does allow for one team member to approve the pull request while another disapproves.

I didn't get that impression. You only get to the "Merge" state if all pending feedback has been addressed. So if a team member says "please don't merge this until a test for foo has been written", that needs to be done before a different team member could approve and merge.

I guess it doesn't handle the (in my mind unlikely) scenario in which a team member is generally concerned about the PR overall. Like if they felt the implementation was just going in completely the wrong direction or something. But even in those cases, I would make the case that nobody should be saying "I disapprove of these changes!" without some concrete reason why. And those concrete reasons fall into the Changes Requested state.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking more about the situation with team members being away for a while (or not having enough time to even look at the design).

Like I said though, I don't think it'll be a problem in practice. Just something to keep in mind.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a note that if any team member has concerns with an implementation, then that must be resolved before merging. I suspect that most of this stuff will already be worked out during the design proposal phase, though.

Copy link
Contributor

@Pauan Pauan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh geez, I just wanted to leave comments, but GitHub instead treated it as a review.

So here's the actual review: I think this all looks great! The graph is really helpful.

@samcday
Copy link
Contributor

samcday commented Apr 2, 2019

This is great, thanks a lot for doing this.

Copy link
Collaborator

@yoshuawuyts yoshuawuyts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Digging this!

I'm kind of curious about a "recommendations section" for the last mile improvements, in particular:

#![forbid(unsafe_code, future_incompatible, rust_2018_idioms)]
#![deny(missing_debug_implementations, nonstandard_style)]
#![warn(missing_docs, missing_doc_code_examples)]

But that's in no way blocking, and at least somewhat subjective. Very happy with this patch!

@fitzgen
Copy link
Member Author

fitzgen commented Apr 2, 2019

I'm kind of curious about a "recommendations section" for the last mile improvements

We have some of these now (debug impls and docs). I think it is worth spinning the others off into another issue for discussion (since this PR is mostly about the workflow / rules of what constitutes acceptance of a design)

@fitzgen fitzgen mentioned this pull request Apr 2, 2019
CONTRIBUTING.md Show resolved Hide resolved
Copy link
Collaborator

@rylev rylev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉Looks great!

@rylev rylev mentioned this pull request Apr 2, 2019
@fitzgen
Copy link
Member Author

fitzgen commented Apr 4, 2019

Ok, once CI comes back green I'll merge this, since it seems like we all have general agreement that this is the direction we want to move in. As we work out the kinks in this workflow we can definitely adjust things and send follow up PRs as necessary.

Thanks everyone!

@fitzgen fitzgen merged commit b9ea6e8 into rustwasm:master Apr 4, 2019
@fitzgen fitzgen deleted the workflow branch April 4, 2019 00:21
@fitzgen fitzgen mentioned this pull request Apr 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants