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

run cpplint with make check? #619

Closed
mihaibudiu opened this issue May 12, 2017 · 6 comments
Closed

run cpplint with make check? #619

mihaibudiu opened this issue May 12, 2017 · 6 comments
Labels
fixed This topic is considered to be fixed.

Comments

@mihaibudiu
Copy link
Contributor

I see many Travis runs fail because of cpplint. Maybe we should consider running it together with make check.

@jnfoster
Copy link
Contributor

+1

@sethfowler
Copy link
Contributor

It's definitely easy to forget to run it.

@mihaibudiu
Copy link
Contributor Author

Anyone volunteer to do this?
Speaking of build, it looks like our process for merging into master is bottlenecked by the need to always merge with the latest and wait for Travis. There must be a better way to do this. We have had approved PRs waiting more than a week to be merged. Also, we don't know if someone else is working on merging them, so there is a race where we trigger needless merges with master.
In general, I have tried to avoid merging my own PRs, but I sometimes step up to do it if they were approved. Maybe we can add a label to the PR, something like "next to be merged"?

mihaibudiu pushed a commit to mihaibudiu/p4c-clone that referenced this issue May 24, 2017
@jnfoster
Copy link
Contributor

jnfoster commented May 24, 2017 via email

@antoninbas
Copy link
Member

Can't you just disable "Require branches to be up to date before merging" for this repo?
I agree that this has been a major pain, I keep having to click the "Update" button, and then I forget to merge and have to start again 2 hours later...

@sethfowler
Copy link
Contributor

It is definitely a pain.

The downside of allowing people to merge un-rebased changes is that they may have been broken by another commit that landed in the meantime. In my experience that happens quite frequently for non-trivial patches.

One approach that is used to solve this problem is to merge PRs to an integration branch (dev or something similar) and manually merge commits from that branch to master once we're confident that the tests pass. That is effectively a merge queue.

If we used that approach, someone would need to take responsibility for managing the integration branch. Doing things this way has the effect of reducing the effort expended by most team members at the cost of greatly increasing the amount of work for whoever manages that branch, since they'll have to do things like manually back broken patches out of the integration branch.

I don't think that approach is a good fit for this project, really.

A better idea would be to set up a bot that auto-rebases patches and auto-merges reviewed patches once they pass the tests. People have written a lot of bots that do this, including bors, which I've used before on other projects, and homu, which looks great, though I haven't used it before.

mihaibudiu pushed a commit to mihaibudiu/p4c-clone that referenced this issue May 24, 2017
mihaibudiu pushed a commit that referenced this issue May 24, 2017
* Fix for issue #619

* quiet option for cpplint
@mihaibudiu mihaibudiu added the fixed This topic is considered to be fixed. label May 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed This topic is considered to be fixed.
Projects
None yet
Development

No branches or pull requests

4 participants