A few years ago the Gerrit workflow process was proposed, which can enforce a workflow on specific branches. You can then have GitHub repos synchronised out-of-the-box.
See for instance the OpenStack project: - Gerrit reviews: https://review.openstack.org <https://review.openstack.org/> - GitHub: https://github.com/openstack <https://github.com/openstack> ... or the Gerrit project itself :-) - Gerrit reviews: https://gerrit-review.googlesource <https://gerrit-review.googlesource/>.com - GitHub: https://github.com/gerritcodereview <https://github.com/gerritcodereview> - Jenkins CI on the reviews: https://gerrit-ci.gerritforge.com <https://gerrit-ci.gerritforge.com/> It allows people to still push directly to some branches (e.g. experimental or devs) or submit PRs on GitHub ... but the overall workflow is managed by Gerrit. Luca. > On 21 Dec 2015, at 08:33, Oleg Nenashev <[email protected]> wrote: > > Slightly hijacking this topic: would it be worthwhile having a similar > rule (even if it's may not be technically enforceable) for creating new > plugins? > > I'm +1 on it. My gut-feeling that there are misusages: forking of demo-only > plugins, bad namings, etc. > It's enforceable. We could restrict the create repo permission to admins only. > The restriction of the IRC bot is also possible when we have a "community > team". > > The same for plugins, if *author* of plugin doesn’t want to use PRs, then you > can’t enforce him do it (the reason why i left docker-plugin development). > Core is critical for stability and relates to many devs/contributors, that’s > why i created this topic/proposal. > > At least it's a good place to start. > > I see lots of PRs languishing for ages with disagreement over what to do and > no clear outcome one way or the other...] > > It's a complete off-topic in any case... > Jenkins does not belong to CloudBees as well the company does not belong to > the project. All Jenkins contributors including CB-employed ones can > designate their review time as they want/can. Obviously we use our working > time to review "our" PRs, but it does not mean that nobody from CB reviews > other PRs during his spare time. Honestly I don't see much unreviewed PRs, > but if there are such ones you can always ask for a review in the ML. The old > pending PRs have been also classified. > > We have no "formal" PR review process in the community. If somebody drafts a > proposal, it would be a good topic for the discussion. > > понедельник, 21 декабря 2015 г., 2:58:34 UTC+3 пользователь Stephen Connolly > написал: > If we are going to go down the road of forbidding direct committing to master > and forcing people to go through PRs (let's assume we can find a way to let > release commits go through) we'd need a better criteria for when we can > actually merge PRs. > > I see lots of PRs languishing for ages with disagreement over what to do and > no clear outcome one way or the other... > > We have 25 PRs that are older than Jun 1st 2014... > > 50 PRs that are at least 1 year old > > 75 PRs that are 6 months or older > > Now KS, it's not CloudBees place to decide what the community wants to have > merged... the community has not defined how to address these PRs... > > If we are to move to PRs without direct commit then I want to see a defined > process whereby no PR goes more than say 1 month without the community > deciding if it is a Go / No Go on the general idea. > > I am quite sure that CloudBees would be willing to help get PRs into a better > state for merging if we knew that those PRs were the direction the community > wanted to go. Right now we seem to end up saying "ok this is what we think, > here's our contribution, do you want it?" and there is no movement further... > after a while we then remove our CloudBees hat and don our core contributors > hat and say something like "ah for jebus's sake, nobody else has expressed an > opinion either way for the past 2-3 weeks, let's just merge it" but don't for > one second think that we like doing this. > > I would say that the community needs to show interest in PRs before we can > switch to a PR model as the route for change. > > My suggestion is that when a PR has been open for a week or so, the community > should start a vote thread to decide if the change is the right direction > (Go) or the wrong direction (No Go). If No Go then close the PR providing the > reason... if Go then the PR author can be helped to get the PR to a mergeable > quality and then we merge the change and move forward. > > If that process gets all the open PRs down such that most PRs are open for no > more than 1 month, then and only then would I say that preventing direct core > commits might be worth pursuing... > > Just my €0.02 > > -Stephen > > On 20 December 2015 at 17:22, Andrew Bayer <andrew...@ <>gmail.com > <http://gmail.com/>> wrote: > So, addressing a few aspects of this thread: > > - I'd strongly oppose ICLA/push permission revocation for pushing directly to > master. That's overly harsh. > - I do support this policy overall - I'm personally a big fan of a "Review > then Commit" policy. > - There is a caveat/exception, of course - release-related commits. > > I think this is worth proposing for the next meeting - Kostya, could you add > it to the agenda on the wiki? There's no need to name-and-shame specific > cases of people pushing directly to master - this is a worthwhile policy to > advocate even if no one was actually breaking it at this point. > > A. > > > On Sun, Dec 20, 2015 at 9:41 AM, Kanstantsin Shautsou <kanstan...@ > <>gmail.com <http://gmail.com/>> wrote: > >> On Dec 20, 2015, at 17:32, Baptiste Mathus <m...@ <>batmat.net >> <http://batmat.net/>> wrote: >> >> +1 with all Oleg said... >> The subject might indeed be eligible to discussion, and I also think we >> might want to proceed with only PRs, but the way you do it... >> And the name you use for kk in CC is, well… > Name was allowed, see meeting logs. >> >> 2015-12-20 15:26 GMT+01:00 Oleg Nenashev <o.v.ne...@ <>gmail. >> <http://gmail.com/>com <http://gmail.com/>>: >> Hi Kostya, >> >> I understand your concern, but messages of such kind can be considered as a >> personal offense. > Any question can be transformed in any way you want. >> Kohsuke is not the only person committing in such way, so it's definitely a >> wider problem, which requires a discussion. BTW currently there is no policy >> prohibiting such approach, so the direct commits are generally valid even if >> they smell bad. > Never saw anybody else, could you share more examples? >> >> I'm +1 on prohibiting direct pushes to the master branches for everybody and >> in all repos. And Jenkins core core is not an exception. >> It makes the current release and changelogging approach a bit problematic, >> but it's another story. >> >> if you signed ICLA and do some questionable changes into master (here i see >> 2 violations) person should get core access removal, right? >> >> Nope. There is no such policy in Jenkins project. If you have any concerns >> about particular contributors, raise the topic to the governance meeting. >> It's the ONLY way for discussing such topics. > That what core committers said to me when i asked about ICLA and perms. Would > be glad to see documented way without double standards. >> >> >> воскресенье, 20 декабря 2015 г., 17:03:40 UTC+3 пользователь Kanstantsin >> Shautsou написал: >> Situation: people doing reviews, blocking PRs for weeks,months,years while >> some people do direct commits to core master without any reviews. >> This ends to situations when master gets broken state that reflects on PR >> builds verification, i.e. >> https://github.com/jenkinsci/jenkins/commit/d86a88ab042cc55530d91e745af9e0886e8eeb79 >> >> <https://github.com/jenkinsci/jenkins/commit/d86a88ab042cc55530d91e745af9e0886e8eeb79> >> Unreviewed changes adds chaos. While people reviewing and close to get rid >> of unconfigurable settings in https://github.com/jenkinsci/jenkins/pull/1914 >> <https://github.com/jenkinsci/jenkins/pull/1914> one person is doing direct >> master changes >> https://github.com/jenkinsci/jenkins/commit/653fbdb65024b1b528e21f682172885f7111bba9 >> >> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fjenkinsci%2Fjenkins%2Fcommit%2F653fbdb65024b1b528e21f682172885f7111bba9&sa=D&sntz=1&usg=AFQjCNGfejtJii5ClN4CxzyDP_BzWpWFag> >> >> Proposal: stop doing such unreviewed changes and forbid direct master >> commits (either at all, either only for mentioned person). >> >> PS. AFAIR/AFAIK if you signed ICLA and do some questionable changes into >> master (here i see 2 violations) person should get core access removal, >> right? >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to jenkinsci-de...@ <>googlegroups.com <http://googlegroups.com/>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/630f6633-d494-4726-8c21-d63890ce040a%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jenkinsci-dev/630f6633-d494-4726-8c21-d63890ce040a%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. >> >> >> >> -- >> Baptiste <Batmat> MATHUS - http://batmat.net <http://batmat.net/> >> Sauvez un arbre, >> Mangez un castor ! >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Jenkins Developers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/jenkinsci-dev/d64UIypbzh0/unsubscribe >> <https://groups.google.com/d/topic/jenkinsci-dev/d64UIypbzh0/unsubscribe>. >> To unsubscribe from this group and all its topics, send an email to >> jenkinsci-de...@ <>googlegroups.com <http://googlegroups.com/>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS61D%2BXzO0Xd8jV2icNU27mJSTGZM5R0OM8rNme12ZnEFg%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS61D%2BXzO0Xd8jV2icNU27mJSTGZM5R0OM8rNme12ZnEFg%40mail.gmail.com?utm_medium=email&utm_source=footer>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to jenkinsci-de...@ <>googlegroups.com <http://googlegroups.com/>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/D11D841C-4F09-4893-95C4-F5B146F25C88%40gmail.com > > <https://groups.google.com/d/msgid/jenkinsci-dev/D11D841C-4F09-4893-95C4-F5B146F25C88%40gmail.com?utm_medium=email&utm_source=footer>. > > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to jenkinsci-de...@ <>googlegroups.com <http://googlegroups.com/>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/CAPbPdOb9uQr5_ebS82FeMJoBp32xRKU541rkGoMrw2YTN-apaw%40mail.gmail.com > > <https://groups.google.com/d/msgid/jenkinsci-dev/CAPbPdOb9uQr5_ebS82FeMJoBp32xRKU541rkGoMrw2YTN-apaw%40mail.gmail.com?utm_medium=email&utm_source=footer>. > > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/f00a8e19-eee2-41a0-8a7a-d6d419c0da2f%40googlegroups.com > > <https://groups.google.com/d/msgid/jenkinsci-dev/f00a8e19-eee2-41a0-8a7a-d6d419c0da2f%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/482A0A57-B284-48F6-A0A1-20C6AAB12B77%40gmail.com. For more options, visit https://groups.google.com/d/optout.
