Re: Please stop committing on a broken build! ([Testbot] Plone 5.0 - Python 2.7 - Build # 1925 - Regression! - 6 failure(s))
Jean Jordaan <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <CAJqnznBp8jAA5ZwBo916x6Ov43BcQQHaaQJ6D9dh6npakcCFdw@mail.gmail.com> |
On Tue, Mar 25, 2014 at 1:20 AM, David Glick (Plone) <david.glick-z4DKO/[email protected]> wrote: > On 3/24/14, 2:50 AM, Jean Jordaan wrote: >> 1. Create a PLIPnnn-merged-branch from the trunk. >> 2. Merge all those branches into this branch. > > No, it won't work. One PLIP may involved branches of 5 different packages > for example. So either you have to merge those packages to their respective > master branches in step 2, which could break the coredev buildout > temporarily if the branches are interdependent; or you have to merge them in > step 6, with the same problem. Ah, of course, I was forgetting we're dealing with different packages. There must be some way to establish a green build across packages, before merging all the packages to their masters. E.g. a plip-nnn.cfg buildout which specifies the branch for each package that would be merged, such that this set of branches is identical to the set of masters after merge. I.e. once the buildout with p1/plip-nnn-branch p2/plip-nnn-branch ... is green, you know that p1/master p2/master ... will be green. So my suggested process becomes: 1. Create a PLIPnnn-merged-branch from master for each package involved. 2. Merge master of each package into its respective PLIP branch. 3. Make sure the build is green for the buildout that specifies the PLIP branch of these packages. 4. In case there have been any changes in master of any of these packages in the meantime, merge master to the PLIP branch. 5. If red, go to 3. 6. If we're still green, merge all the PLIP branches to those packages' master. The window for breaking the build would be if someone is pushing unrelated stuff to master between 5 and 6. If committing to master is via pull request this should be avoidable. Step 6 is not atomic (i.e. we're merging one package at a time), but should be quick since the hard work should already have been done in steps 2 or 4. -- jean . .. .... //\\\oo///\\ ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech